Неопределенные символы: __dyld_func_lookup для MacOSX 64-битная ошибка компоновки в 10.6.7 - PullRequest
0 голосов
/ 16 июня 2011

Я пытаюсь скомпилировать программу, которая ссылается на __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, похоже, не сработало.

Любая помощь будет наиболее ценной!

1 Ответ

3 голосов
/ 24 сентября 2011

Связывание dylib1.0 у меня сработало в такой же ситуации.

...