xcode包含路径冲突

问题描述:

在MSVS中,当我#include <someHeader>它在与包含#include“someheader”的标题不同的文件夹中搜索。同样的事情应该在Xcode中,但它似乎不起作用。由于这个原因,我与本地头文件与std头文件(String.h等)具有相同的名称冲突,而且我不能包含std头文件。我试图改变项目选项“总是搜索用户路径”,但它仍然无效。从这个选项的帮助消息说,这将解决我的问题,但...xcode包含路径冲突

如果启用,既#包括 <header.h>风格和的#include “header.h”式的指令之前的“头文件搜索 路径”将 搜索在“用户头 搜索路径”的路径,其结果是用户 标题(如自己的STRING.H 头)将不得不使用的#include时优先 系统头 <header.h>。这是通过在“用户标题搜索路径”中提供的路径使用 分隔标志完成的。如果 残疾人和你的编译器完全支持 单独的用户路径,用户 头将只与

包括“header.h”风格的预处理指令访问。

出于向下兼容性的原因, 此设置默认启用, 但禁用它强烈建议 。 [ALWAYS_SEARCH_USER_PATHS]

你知道如何解决这个问题吗?我真的不想更改我的头文件名称或从项目设置中删除搜索路径,并使用相对路径到本地文件(../../../SomeFolder/SomeHeader.h)。

+0

编译器命令行的项目建成时使用可能会给某人足够的细节来帮助解决这个问题。这应该可以从一些构建日志中获得。 – 2011-01-06 19:51:52

+0

我试图预处理一个虚拟CPP文件只有一个包括包含本地头文件:| – Felics 2011-01-06 19:57:04

+0

命令行:setenv LANG en_US.US-ASCII setenv PATH“/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin“ /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2 -x C++ -arch armv7 -fmessage-length = 0 -pipe -Wno-trigraphs -fascal-strings -O0 -Wreturn-type -Wunused-variable -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk -mfix-and-continue -gdwarf-2 -mthumb -miphoneos-version -min = 4.2 -iquote – Felics 2011-01-06 20:01:16

我通过改变从H到HPP所有头延伸......这是不是一个真正的解决方案解决了这个问题,但我不停的文件名和我现在解决了这个问题,:)