我正在尝试使用以前构建良好的 Xcode 4.4 构建 dylib。我遇到了2个问题:
- 如果我针对 10.7 sdk 构建,它构建得很好。但是,在 10.6.8 上进行测试时,出现以下错误:
Dyld 错误消息:找不到符号:_wcsdup 引用自:/lib/Release/libwx_baseu-2.9.dylib 预期在:/usr/lib/libSystem.B.dylib
- 如果我针对 10.6 sdk(从 Xcode 4.3.3 的下载中提取)构建,我会收到以下链接错误:
ld build/Debug/libCodec.dylib normal 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):我通过更改为苹果的 devualt llvm 4.0 编译器(而不是我使用的 llvm gcc 编译器)解决了我在针对 10.6 SDK 构建时收到的错误。