簡體   English   中英

LNK2019無法解析的符號與Visual Studio 2012一起編譯LuaJava

[英]LNK2019 unresolved symbol compiling LuaJava with Visual Studio 2012

我正在使用Visual Studio 2012編譯LuaJava。 我遇到的問題是調用鏈接器時。 在makefile中調用鏈接器的行是:

 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位應用程序。 經過一段時間的搜索后,我不相信LuaJava會下載x64,因此要使用它,必須將應用程序更改為32位。

編輯:第二種方法是將LuaJava重新編譯為64位dll。 這是關於此的最新文章: LuaJava編譯錯誤“未解析的外部符號”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM