为-lstdc ++找不到Xcode 4.4 10.6 sdk库

时间:2012-08-01 07:25:42

标签: c++ xcode4 osx-lion osx-snow-leopard wxwidgets

我正在尝试使用Xcode 4.4构建一个dylib,之前已经很好地构建了。我遇到了两个问题:

  1. 如果我构建了10.7 sdk,那么构建正常。但是,当在10.6.8上进行测试时,我收到以下错误:
  2.   

    Dyld错误消息:未找到符号:_wcsdup引用自:   /lib/Release/libwx_baseu-2.9.dylib期望:   /usr/lib/libSystem.B.dylib

    1. 如果我构建了10.6 sdk(从Xcode 4.3.3的下载中提取),我会收到以下链接错误:
    2.   

      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时收到的错误。

1 个答案:

答案 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)。