Mac和Windows差异标题path(/ vs \)

我有一个也可以在XCode上工作的Windows项目。 但我不得不改变所有的源头path

#include "Adapter\EngineAdapterFactory.hpp" 

 #include "Adapter/EngineAdapterFactory.hpp" 

这是非常烦人的,我可能不得不稍后逆转Visual Studio的过程。 别人怎么能解决这个问题呢?

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

(至少在Windows上使用GCC就是这种情况。)

实际上,这不仅仅是编译器的特性 – 即使使用Windows资源管理器,您也应该能够使用/作为目录分隔符进行导航。 打开资源管理器,并插入您的地址栏,如: c:/Some/Folder/Structure 应该工作完美,除非你是一个真正的旧版本的Windows(我可以确认它在XP和以上工作,但可能会有更长的时间)。 谢谢,微软,兼容! 🙂

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

如果在<>分隔符之间的序列中出现字符'\"///* ,则行为是不确定的。类似地,如果字符'\///*"分隔符"之间,行为是不确定的。

虽然有些编译器可能接受\包含路径,他们都必须接受/