2011-06-15 69 views
0

我試圖編譯一個程序,引用__dyld_func_lookup未定義的符號:__dyld_func_lookup爲MacOSX 64位鏈接錯誤10.6.7

一切正常編譯,表明包含文件能夠找到函數引用。然而,在最後的鏈接,我得到這個錯誤:

g++ -o ../lib/macosx64/libcogmapapi.dylib -dynamiclib ./build/CogMapApi.o ./libs/cmlabs/macosx64/AIR.a ./libs/cmlabs/macosx64/CoreLibrary.a 
Undefined symbols: 
    "__dyld_func_lookup", referenced from: 
     _reference in CoreLibrary.a(dlfcn_darwin.o) 
     _dllopen in CoreLibrary.a(dlfcn_darwin.o) 
     _dllopen in CoreLibrary.a(dlfcn_darwin.o) 
     _dllopen in CoreLibrary.a(dlfcn_darwin.o) 
ld: symbol(s) not found 
collect2: ld returned 1 exit status 

我使用的連接器-undefined dynamic_lookup試圖和它鏈接正常,但隨後在運行時,我得到未定義的符號,因爲我實際引用__dyld_func_lookup在我的代碼。我猜我需要鏈接到一些dylib或框架,但我所嘗試的一切,如系統和libdl.dylib似乎沒有工作。

任何幫助將不勝感激!

回答

3

鏈接dylib1.0在同樣的情況下爲我工作。

+0

請問能否詳細說明這個問題,對於那些來自谷歌的人來說呢? ¯\\ _(ツ)_/ – Chris 2018-01-16 04:30:11

+0

@Chris什麼不清楚你? – 2018-01-17 00:10:24

+0

沒有上下文提供的上下文。你在Xcode中設置鏈接嗎?或者你從命令行直接向GCC/LLVM傳遞一個標誌? – Chris 2018-01-23 18:42:12