Как оказалось такая простая задача может быть не такой простой. Начнем по порядку: 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
|