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

时间:2010-12-04 13:36:29

标签: c++ visual-studio unix directory-structure windows

我有一个也适用于XCode的Windows项目。但我不得不改变所有的源标头路径,如

#include "Adapter\EngineAdapterFactory.hpp"

#include "Adapter/EngineAdapterFactory.hpp"

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

2 个答案:

答案 0 :(得分:4)

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

(至少在Windows上是GCC的情况。)

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

答案 1 :(得分:4)

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

  

如果字符为'\"///*   发生在<之间的序列中   和>分隔符,行为是   未定义。同样,如果   字符'\///*出现在   "分隔符之间的顺序,   行为未定义。

虽然某些编译器可能接受包含路径中的\,但他们都必需才能接受/