Я работаю с visual studio 2012 для компиляции LuaJava. Проблема, с которой я столкнулась, - это когда я называю компоновщик. Линия, которая вызывает компоновщик в Makefile является:LNK2019 неразрешенный символ компиляции LuaJava с Visual Studio 2012
link /dll /LIBPATH:"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib\x64"
/LIBPATH:"C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\lib\amd64"
/out:luajava-1.1.dll src\c\luajava.obj
"C:\Program Files (x86)\Lua\5.1\lib\lua5.1.lib" /VERBOSE
Это кажется почти быть связь все успешно, пока он не попадает в библиотеку Lua.
линкер выдает следующее, когда я пытаюсь сделать проект:
...//linking of other libraries
Finished searching libraries
Unused libraries:
C:\Program Files (x86)\Lua\5.1\lib\lua5.1.lib
C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\lib\amd64\OLDNAMES.lib
luajava.obj : error LNK2019: unresolved external symbol lua_close referenced in function Java_org_keplerproject_luajava_LuaState__1close
luajava.obj : error LNK2019: unresolved external symbol lua_newthread referenced in function Java_org_keplerproject_luajava_LuaState__1newthread
luajava.obj : error LNK2019: unresolved external symbol lua_gettop referenced in function Java_org_keplerproject_luajava_LuaState__1getTop
...//lots of these errors
luajava-1.1.dll : fatal error LNK1120: 88 unresolved externals
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\BIN\x86_amd64\link.EXE"' : return code '0x460'
Stop.
Я запутался, почему он говорит, что библиотека Lua не используется, а затем жалуется, когда он не может найти Функции библиотеки Lua.
Вы пытаетесь связать 32-битную библиотеку с 64-битным приложением? Это не будет работать. – drescherjm
Хм ... Это хороший момент. Я использовал Lua для Windows, чтобы установить Lua, и я думаю, что это была 32-битная копия, поэтому библиотека Lua, вероятно, 32 бит. Я еще раз проверю это и вернусь к вам. Благодаря! – dbarton91