Разница между заголовками Mac и Windows (/ vs \)
У меня есть проект Windows, который также работает на XCode. Но мне пришлось изменить все пути исходного заголовка, как
#include "Adapter\EngineAdapterFactory.hpp"
в
#include "Adapter/EngineAdapterFactory.hpp"
Это довольно раздражает, и мне, возможно, придется позже поменять процесс для Visual Studio. Как другие могут решить эту проблему?
2 ответа
Вы должны быть в состоянии использовать Adapter/EngineAdapterFactory.hpp
на обеих платформах.
(По крайней мере, так обстоит дело с GCC на Windows.)
На самом деле, это не просто черта компиляторов - даже с Windows Explorer вы сможете перемещаться с /
в качестве разделителя каталогов. Откройте проводник и вставьте в адресную строку что-то вроде: c:/Some/Folder/Structure
, Должно работать без сбоев, если вы не используете действительно старую версию Windows (я могу подтвердить, что она работает на XP и выше, но, вероятно, она там еще дольше). Спасибо, Microsoft, за совместимость! :)
Вы никогда не должны использовать \
в пути включения, и дело не в платформе, а в языке (6.4.7/3 из стандарта C99):
Если персонажи
'
,\
,"
,//
, или же/*
происходят в последовательности между<
а также>
разделители, поведение не определено. Точно так же, если персонажи'
,\
,//
, или же/*
происходят в последовательности между"
разделители, поведение не определено.
Хотя некоторые компиляторы могут принять \
в пути включения все они должны принять /
,