我正在尝试使用Xcode 4.4构建一个dylib,之前已经很好地构建了。我遇到了两个问题:
Dyld错误消息:未找到符号:_wcsdup引用自: /lib/Release/libwx_baseu-2.9.dylib期望: /usr/lib/libSystem.B.dylib
Ld build / Debug / libCodec.dylib正常i386 cd / Developer / Projects / Common / osx setenv MACOSX_DEPLOYMENT_TARGET 10.6 /Applications/Xcode.app/Contents/Developer/usr/bin/llvm-g++-4.2 -arch i386 -dynamiclib -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10。 6.sdk -L / Developer / Projects / Common / osx / build / Debug -L / Developer / Packages / libsndfile / osx / lib -L / Developer / Packages / wxWidgets / build-debug / lib -F / Developer / Projects / Common / osx / build / Debug -filelist /Developer/Projects/Common/osx/build/Common.build/Debug/Codec.build/Objects-normal/i386/Codec.LinkFileList -install_name“@ rpath / libCodec.dylib”-mmacosx-version-min = 10.6 -lSampleFormat -lSoundFile -lsndfile.1 -lwx_baseu-2.9 -single_module -compatibility_version 1 -current_version 1 -o / Developer / Projects / Common / osx / build /Debug/libCodec.dylib
ld:找不到-lstdc ++的库:collect2:ld返回1退出状态 命令 /Applications/Xcode.app/Contents/Developer/usr/bin/llvm-g++-4.2失败 退出代码1
我更愿意建立10.6 sdk,因为我需要支持10.6.8。在所有情况下,我将我的最小部署目标设置为10.6,但这没有帮助。
更新(08/05/2012): 我通过更改为apple的devualt llvm 4.0编译器(而不是我正在使用的llvm gcc编译器)解决了在构建10.6 SDK时收到的错误。
答案 0 :(得分:2)
仅仅因为您从旧版Xcode手动复制10.6并不意味着您的新Xcode将会知道如何处理它。
但请不要担心,只需将部署目标(如您已经完成的那样)设置为10.6,并链接到Xcode 4.4随附的当前SDK。
你将在10.6上运行就好了。
相同的概念适用于iOS和here's a related question that adds some extra detail(就iOS而言,但同样的理念适用于MacOS)。