xcode 包含路径冲突

发布于 2024-10-10 17:05:40 字数 725 浏览 4 评论 0原文

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

如果启用,两者都#include样式和 #include “header.h”风格的指令将 搜索“用户标头”中的路径 “标题搜索”之前的“搜索路径” 路径”,结果是用户 标头(例如您自己的 String.h header) 优先于 使用 #include 时的系统标头。这是使用以下方法完成的 -iquote 标志“用户标头搜索路径”中提供的路径。如果 禁用并且您的编译器完全禁用 支持单独的用户路径、用户 标头只能通过

访问

包含“header.h”样式的预处理器指令。

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

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

In MSVS when I #include <someHeader> it is searched in a different folder than the headers included with #include "someheader". Same thing should be in xcode, but it seems that it does not work. Because of this I have conflicts with local headers that have same name as std headers(String.h, etc) and I can't include std headers. I tried to change project option "Always search user paths" but it still does not work. The help message from this options says that it will solve my problem, but...

If enabled, both #include
<header.h>-style and #include
"header.h"-style directives will
search the paths in "User Header
Search Paths" before "Header Search
Paths", with the consequence that user
headers (such as your own String.h
header) would have precedence over
system headers when using #include
<header.h>. This is done using the
-iquote flag for the paths provided in "User Header Search Paths". If
disabled and your compiler fully
supports separate user paths, user
headers will only be accessible with

include "header.h"-style preprocessor directives.

For backwards compatibility reasons,
this setting is enabled by default,
but disabling it is strongly
recommended.
[ALWAYS_SEARCH_USER_PATHS]

Do you have any idea how to solve this? I really don't want to change my header files names or to remove search paths from project settings and use relative paths to local files (../../ ... /SomeFolder/SomeHeader.h).

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

遇见了你 2024-10-17 17:05:40

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

I solved the problem by changing all headers extension from h to hpp... It's not a real solution, but I kept the file names and I solved the problem, for now:)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文