Суббота, 04.05.2024, 21:29
Приветствую Вас Гость

Разработка игр c использованием JPCT

Каталог статей

Главная » Статьи » Разработка игр » Скрипты

Сборка LuaJava для использования в проекте
Как оказалось такая простая задача может быть не такой простой.
Начнем по порядку:
1) сначала необходимо скачать и поставить Lua for Windows например вот от сюда, устанавливать лучше в папки в пути к которым нет пробелов.
2) скачать исходники JuaJava вот от сюда
3) после распаковки архива с исходниками необходимо исправить файл config.win в нем необходимо прописать куда установлена Lua в моем случае этот файл выглядит так:
#############################################################
#Windows
#LUA_DIR= c:\lua51
LUA_DIR= C:\Lua\5.1
LUA_LIBDIR= $(LUA_DIR)\lib
LUA_INCLUDES= $(LUA_DIR)\include
JDK= $(JAVA_HOME)
#JDK= C:\j2sdk1.4.2_06

LIB_LUA= lua5.1.lib

INCS= -I"$(JDK)/include" -I"$(JDK)/include/win32" -I"$(LUA_INCLUDES)"
CFLAGS= -nologo -DWIN32 $(INCS) -Fosrc\C\\ -MD

CC= cl


#########################################################
VERSION= 1.1

PKG= luajava-$(VERSION)
JAR_FILE= $(PKG).jar
SO_FILE= $(PKG).dll
DIST_DIR= $(PKG)

# $Id: config.win,v 1.1 2006/12/22 14:06:40 thiago Exp $
Придется поправить файл makefile.win  в строках:
$(SO_FILE): $(OBJS)
link  /dll /nodefaultlib:"msvcrt.lib" -out:$@ $? $(LUA_LIBDIR)\$(LIB_LUA)
# link  /dll -out:$@ $? $(LUA_LIBDIR)\$(LIB_LUA)
Необходимо за комментировать вторую строку и снять комментарий с третей в итоге должно выглядеть вот так;
$(SO_FILE): $(OBJS)
# link  /dll /nodefaultlib:"msvcrt.lib" -out:$@ $? $(LUA_LIBDIR)\$(LIB_LUA)
  link  /dll -out:$@ $? $(LUA_LIBDIR)\$(LIB_LUA)
если этого не сделать то во время сборки произойдет ошибка.
4) необходимо скачать и установить MSVC++ Express Edition с сайта Microsoft
5) далее необходимо запустить командную строку и в ней не закрывая ее последовательно выполнить 2 команды, я при этом установил рабочим каталогом папку в которую распаковал LuaJava
5.1) сначала необходимо выполнить файл  vcvars32.bat находящийся в путь_к_папке_MSVC++_Express_Edition\vc\bin  в моем случае это выглядело так 
c:\work\install\luajava-1.1>"c:\Program Files (x86)\Microsoft Visual Studio 10.0\vc\bin\vcvars32.bat"
В результате выполнения в командной строке отобразится
Setting environment for using Microsoft Visual Studio 2010 x86 tools.
5.2) после этого необходимо набрать
nmake.exe -f makefile.win
Это приведет к компиляции и сборки jar и dll  файлов(в папку из которой был запущен скрипт сборки в моем случае это c:\work\install\luajava-1.1) необходимых для подключения LuaJava в ваш проект. В результате в командной строке должно появится следующее:
c:\work\install\luajava-1.1>nmake.exe -f makefile.win

Служебная программа обслуживания программ Microsoft (R), версия 10.00.30319.01
(C) Корпорация Майкрософт (Microsoft Corporation). Все права защищены.

        "C:\Program Files\Java\jdk1.7.0_10\bin\javac" -sourcepath ./src/java src
/java/org/keplerproject/luajava/CPtr.java
        "C:\Program Files\Java\jdk1.7.0_10\bin\javac" -sourcepath ./src/java src
/java/org/keplerproject/luajava/JavaFunction.java
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
        "C:\Program Files\Java\jdk1.7.0_10\bin\javac" -sourcepath ./src/java src
/java/org/keplerproject/luajava/LuaJavaAPI.java
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
        "C:\Program Files\Java\jdk1.7.0_10\bin\javac" -sourcepath ./src/java src
/java/org/keplerproject/luajava/Console.java
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
        "C:\Program Files\Java\jdk1.7.0_10\bin\javadoc" -classpath "src/java/" -
public -quiet -d "doc/us/API" src/java/org/keplerproject/luajava/JavaFunction.ja
va  src/java/org/keplerproject/luajava/LuaException.java  src/java/org/keplerpro
ject/luajava/LuaInvocationHandler.java  src/java/org/keplerproject/luajava/LuaOb
ject.java  src/java/org/keplerproject/luajava/LuaState.java  src/java/org/kepler
project/luajava/LuaStateFactory.java  src/java/org/keplerproject/luajava/Console
.java
        cl -nologo -DWIN32 -I"C:\Program Files\Java\jdk1.7.0_10/include" -I"C:\P
rogram Files\Java\jdk1.7.0_10/include/win32" -I"C:\Lua\5.1\include" -Fosrc\C\\ -
MD /c src\c\luajava.c
luajava.c
        link  /dll -out:luajava-1.1.dll src\c\luajava.obj C:\Lua\5.1\lib\lua5.1.
lib
Microsoft (R) Incremental Linker Version 10.00.30319.01
Copyright (C) Microsoft Corporation.  All rights reserved.

   Создается библиотека luajava-1.1.lib и объект luajava-1.1.exp
        del src\java\org\keplerproject\luajava\*.class src\c\*.obj *.pdb *.exp *
.lib *.exp *.ilk
------------------
Build Complete
------------------
Если возникли ошибки то скорее всего это связано с наличием пробелов в пути к Lua.
Полученный dll файл необходимо положить в папку подключаемых библиотек прописанную в свойствах VM как -Djava.library.path
Категория: Скрипты | Добавил: Gram01 (16.11.2013) | Автор: Gram01
Просмотров: 1769 | Теги: luajava, Java, скрипты для игрового движка, использование скриптов | Рейтинг: 3.0/3
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа
Категории раздела
JPCT [11]
Раздел о разработке игр на устройства работающие не под управлением Android'а
Сеть [2]
Раздел по вопросам касающимся сетевого взаимодействия приложений на java в контексте разработки игр
Контент [0]
Статьи о работе к контентом при разработки игр
Скрипты [2]
использование скриптов в игровом движке
Разное [1]
различные материалы о разработке игрового движка
Поиск
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0
    Copyright Неведомый Р.А. © 2024 | Рейтинг@Mail.ru