2011-06-15 91 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