我正在尝试在一个C++命令行项目中设置Xcode4中的头搜索路径(使用LLVM2.0/ clang作为编译器),这样我就可以通过#include <foo>
包含一个库头文件。
如果我将搜索路径包含在构建设置“头搜索路径”下,则会找到头文件。不幸的是,我也使用-Werror
和严格的警告级别进行编译,而有问题的头文件会导致编译错误。
因此,我将包含通过-isystem
的头搜索路径,以便禁用对该库头的警告。然而,我在Xcode4中找不到相应的构建设置。“头搜索路径”和“用户头搜索路径”都不起作用。
Xcode不支持-isystem
标志吗?
发布于 2012-03-19 21:43:56
正如您已经指出的,-isystem
是gcc
处理系统包含目录的方式,并且与-I
目录不同,-isystem
目录将取消警告,并且您从系统包含路径获得的各种其他行为。
Xcode可能不会让它变得明显,但是Xcode4.3提供的基于llvm的类似于gcc的编译器确实像gcc一样支持这个选项。这似乎是一个常见的神话,它没有(毫无疑问,因为它在过去没有),甚至CMake (2.8.7)仍然继续避免在Xcode中使用-isystem
选项。
对于那些手动创建Xcode项目的人来说,项目设置中的“头搜索路径”(而不是“用户头搜索路径”)也会起作用,正如您所提到的,如果您不使用像CMake这样的东西来构建您的Xcode项目,可能会更容易。
https://stackoverflow.com/questions/6322564
复制相似问题