Mac 和 Windows 头文件路径差异(/ 与 \)

发布于 2024-10-05 20:22:50 字数 259 浏览 5 评论 0原文

我有一个也可以在 XCode 上运行的 Windows 项目。但我必须更改所有源标头路径,例如

#include "Adapter\EngineAdapterFactory.hpp"

#include "Adapter/EngineAdapterFactory.hpp"

这非常烦人,我稍后可能必须反转 Visual Studio 的过程。其他人如何解决这个问题?

I have a Windows project that also works on XCode. But I had to changed all the source header paths like

#include "Adapter\EngineAdapterFactory.hpp"

to

#include "Adapter/EngineAdapterFactory.hpp"

This is quite annoying and I might have to reverse the process for Visual Studio later. How can others solve this problem?

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

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

发布评论

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

评论(2

烦人精 2024-10-12 20:22:50

您应该能够在两个平台上使用 Adapter/EngineAdapterFactory.hpp

(至少 Windows 上的 GCC 是这样。)

实际上,这不仅仅是编译器的特征 - 即使使用 Windows 资源管理器,您也应该能够使用 / 作为目录分隔符进行导航。打开资源管理器并在地址栏中插入类似以下内容的内容:c:/Some/Folder/Structure。应该可以完美地工作,除非你使用的是非常旧的 Windows 版本(我可以确认它可以在 XP 及更高版本上工作,但可能它的存在时间更长)。感谢微软的兼容! :)

You should be able to use Adapter/EngineAdapterFactory.hpp on both platforms.

(At least that's the case with GCC on Windows.)

Actually, that's not just the trait of compilers - even with Windows Explorer you should be able to navigate with / as directory separator. Open up Explorer and insert in your address bar something like: c:/Some/Folder/Structure. Should work flawlessly unless you're on a really old Windows version (I can confirm it working on XP and up, but probably it's there even longer). Thanks, Microsoft, for being compatible! :)

掌心的温暖 2024-10-12 20:22:50

您不应该在包含路径中使用 \,这不是平台问题而是语言问题(C99 标准中的 6.4.7/3):

如果字符 '\"///*< /代码>
出现在 < 之间的序列中
> 分隔符,行为是
不明确的。同样,如果
字符 '\///* 出现在
" 分隔符之间的序列,
行为未定义。


尽管某些编译器可能接受包含路径中的\,但它们都要求接受/

You should never use \ in a include path, and its not a matter of platform but language (6.4.7/3 from the C99 standard) :

If the characters ', \, ", //, or /*
occur in the sequence between the <
and > delimiters, the behavior is
undefined. Similarly, if the
characters ', \, //, or /* occur in
the sequence between the " delimiters,
the behavior is undefined.

Although some compilers may accept \ in an include path, they are all required to accept /.

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