2

由于我已经为我的 OSX 项目更新到 XCode 5,我收到以下警告,我不知道为什么以及如何解决它:

Ld /Users/thomaswickl/Library/Developer/Xcode/DerivedData/QuickQuick2-aniutiuhasvwojftbgyjcsdqtxzw/Build/Products/Debug/QuickQuick2.app/Contents/MacOS/QuickQuick2 normal x86_64
    cd "/Users/thomaswickl/Development/Git Projects/quickquick2/QuickQuick2"
    setenv MACOSX_DEPLOYMENT_TARGET 10.9
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -L/Users/thomaswickl/Library/Developer/Xcode/DerivedData/QuickQuick2-aniutiuhasvwojftbgyjcsdqtxzw/Build/Products/Debug -F/Users/thomaswickl/Library/Developer/Xcode/DerivedData/QuickQuick2-aniutiuhasvwojftbgyjcsdqtxzw/Build/Products/Debug -F/Users/thomaswickl/Development/Git\ Projects/quickquick2/QuickQuick2 -F\"/Users/thomaswickl/Development/Git\ Projects/quickquick2/QuickQuick2/..\" -F/Users/thomaswickl/Development/Git\ Projects/quickquick2 -filelist /Users/thomaswickl/Library/Developer/Xcode/DerivedData/QuickQuick2-aniutiuhasvwojftbgyjcsdqtxzw/Build/Intermediates/QuickQuick2.build/Debug/QuickQuick2.build/Objects-normal/x86_64/QuickQuick2.LinkFileList -Xlinker -rpath -Xlinker @loader_path/../Frameworks -mmacosx-version-min=10.9 -fobjc-arc -fobjc-link-runtime -framework Carbon -framework Rebel -framework Accounts -framework Social -framework MapKit -framework Cocoa -Xlinker -dependency_info -Xlinker /Users/thomaswickl/Library/Developer/Xcode/DerivedData/QuickQuick2-aniutiuhasvwojftbgyjcsdqtxzw/Build/Intermediates/QuickQuick2.build/Debug/QuickQuick2.build/Objects-normal/x86_64/QuickQuick2_dependency_info.dat -o /Users/thomaswickl/Library/Developer/Xcode/DerivedData/QuickQuick2-aniutiuhasvwojftbgyjcsdqtxzw/Build/Products/Debug/QuickQuick2.app/Contents/MacOS/QuickQuick2


ld: warning: directory not found for option '-F"/Users/thomaswickl/Development/Git Projects/quickquick2/QuickQuick2/.."'

我迷路了,因为我不明白这个警告。任何想法这意味着什么以及如何解决此警告?应用程序启动但警告很烦人,我将警告视为错误。

4

2 回答 2

2

在终端窗口类型man ld中,您将获得ld命令的描述及其采用的参数。在那里你会发现-F指定一个目录来搜索框架。Xcode 生成的命令行包含:

-F/Users/thomaswickl/Development/Git\ Projects/quickquick2/QuickQuick2
-F\"/Users/thomaswickl/Development/Git\ Projects/quickquick2/QuickQuick2/..\"
-F/Users/thomaswickl/Development/Git\ Projects/quickquick2

第二个条目实际上是多余的 - 它与第三个相同(作为..父项) - 但看起来你的问题是路径被转义的方式。要在路径中允许空格,您可以将其括在引号中或在空格前加上反斜杠。路径 1 和 3 使用反斜杠方法,路径 2 使用这两种方法,因此反斜杠可能被视为文字字符(这将在终端中发生),因此路径不正确......(交叉眼了吗?;- ))

可能在项目转换为 Xcode 5 时引入了这种双重转义。路径列在项目的设置中(抱歉 Xcode 不提供),将其找出并删除(作为重复项)。

HTH。

于 2013-10-25T10:55:49.643 回答
2

确保从 aTrget 中的测试下的构建设置中删除框架搜索路径。

于 2015-10-30T05:26:01.503 回答