【发布时间】:2012-08-01 07:25:42
【问题描述】:
我正在尝试使用 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 正常 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,但这并没有帮助。
更新(2012 年 8 月 5 日): 我通过更改为苹果的 devualt llvm 4.0 编译器(而不是我使用的 llvm gcc 编译器)解决了我在针对 10.6 SDK 构建时收到的错误。
【问题讨论】:
标签: c++ xcode4 osx-lion osx-snow-leopard wxwidgets