[英]Linker error LNK2019 (unresolved symbol) with OpenCV 2.4, CvBlob library, and Visual Studio 2012 RC
[英]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.