0

我正在尝试编译一个引用__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 似乎都不起作用。

非常感激任何的帮助!

4

1 回答 1

3

在相同的情况下,链接 dylib1.0 对我有用。

于 2011-09-23T21:03:28.023 回答