0

在 MSVS 中,当我 #include <someHeader> 时,它会在与 #include "someheader" 包含的标题不同的文件夹中进行搜索。同样的东西应该在xcode中,但它似乎不起作用。因此,我与与 std 标头(String.h 等)具有相同名称的本地标头发生冲突,并且我不能包含 std 标头。我试图更改项目选项“始终搜索用户路径”,但它仍然不起作用。此选项的帮助消息说它将解决我的问题,但是...

如果启用,#include <header.h>-style 和 #include "header.h"-style 指令都将在“Header Search Paths”之前搜索“User Header Search Paths”中的路径,结果是用户标题(例如作为您自己的 String.h 标头)在使用 #include <header.h> 时优先于系统标头。这是使用“用户标头搜索路径”中提供的路径的 -iquote 标志来完成的。如果禁用并且您的编译器完全支持单独的用户路径,则用户标头只能通过以下方式访问

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

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

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

4

1 回答 1

1

我通过将所有标题扩展名从 h 更改为 hpp 解决了这个问题......这不是一个真正的解决方案,但我保留了文件名并解决了这个问题,现在:)

于 2011-01-08T21:12:40.457 回答