Ошибка связывания zLib XCode 4, неопределенные символы - PullRequest
0 голосов
/ 21 января 2012

ссылка ошибка:

Undefined symbols for architecture i386:  "_unzOpen", referenced from:

В моем проекте xcode есть libz.dylib (фазы сборки / связать двоичные файлы с библиотекой) также можно увидеть флаг ссылки -lz

Ld Debug/DemoOSX_d.app/Contents/MacOS/DemoOSX_d normal i386
cd /Projects/Scorpio/DemoOSX
setenv MACOSX_DEPLOYMENT_TARGET 10.7
/Developer/usr/bin/clang++ -arch i386 -isysroot /Developer/SDKs/MacOSX10.7.sdk -L/Projects/Scorpio/DemoOSX/Debug -L/Projects/Scorpio/DemoOSX/../LibMacOS -F/Projects/Scorpio/DemoOSX/Debug -F/Developer/SDKs/MacOSX10.7.sdk/usr/lib -filelist /Projects/Scorpio/DemoOSX/Debug/DemoOSX.build/Objects-normal/i386/DemoOSX_d.LinkFileList -mmacosx-version-min=10.7 -lz /Projects/Scorpio/DemoOSX/../LibMacOS/SysAudio_d.a /Projects/Scorpio/DemoOSX/../LibMacOS/SysUtils_d.a -lexpat -logg -lvorbis -lvorbisfile /Projects/Scorpio/DemoOSX/../LibMacOS/SysMath_d.a /Projects/Scorpio/DemoOSX/../LibMacOS/SysMemManager_d.a -framework OpenAL -framework SDL -framework Cocoa -o /Projects/Scorpio/DemoOSX/Debug/DemoOSX_d.app/Contents/MacOS/DemoOSX_d

1) попытался проверить расширение в инспекторе файлов - mach o динамическая библиотека

2) попробовал построить 32/64 битное приложение

3) добавить другие флаги компоновщика "usr / lib / libz.dylib"

4) попытался добавить заголовок пути поиска / usr / include

ничего не поможет :(, наверное, нужно собрать самому

ARCHS 32bit Intel SDK_ROOT Последние 10,7 GCC_VERSION Apple LLVM 3.0

1 Ответ

2 голосов
/ 21 января 2012

Функция unzOpen является частью "minizip", надстройки к zlib, которая не включена в версию Apple zlib. Вам нужно перейти на zlib.net, чтобы получить исходный код для минизипа.

...