我正在尝试编译一个引用__dyld_func_lookup
.
一切编译正常,表明包含文件能够找到函数引用。但是,在最终链接时,我收到此错误:
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 或框架,但是我尝试过的所有东西,比如 System 和 libdl.dylib 似乎都不起作用。
非常感激任何的帮助!