我想在Mac OS X 10.9下使用xcrun
构建现有应用程序。该应用程序与libxml集成。它包含如下:
#include <libxml/parser.h>
为了测试,我跑了:
echo '#include <libxml/parser.h>' | xcrun clang -xc -v -
给了我
#include "..." search starts here:
#include <...> search starts here:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks (framework directory)
End of search list.
<stdin>:1:10: fatal error: 'libxml/parser.h' file not found
#include <libxml/parser.h>
虽然关键标题搜索路径似乎在xcrun
下,但缺少libxml2。事实上,libxml / * .h驻留在
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include
即
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/libxml2
如何将此目录(... / usr / include / libxml2)添加到xcrun
所尊重的搜索路径?
答案 0 :(得分:0)
单击Project Navigator顶部的项目,然后确保选择了适当的目标。在屏幕的顶部中心点击“Build Settings”。现在转到“搜索路径”部分,找到要编辑的路径(例如,框架搜索路径,标题搜索路径,库搜索路径)。将有多个列,因为您可以在项目级别,xcconfig文件,目标级别等配置这些变量,并在“已解决”列中显示过滤下来的最终值。选择适合您的任何级别,然后双击该字段并键入您的路径。
注意:如果您的路径有空格,则应将其用双引号括起来;但是,目前Xcode中存在一个错误,导致Xcode偶尔重新解释搜索路径字符串并将其双重转义。因此,当您输入“my / path / here”时,Xcode将其存储为“my / path / here”,这是正确的。但是后来Xcode可能会将其存储为\\“my / path / here \\”,这意味着Xcode会尝试从“my / path / here”中提取文件,这会导致失败。因此,如果出现这种情况,就可以摆脱双重逃避。