XCode включают конфликты путей - PullRequest
0 голосов
/ 06 января 2011

В MSVS, когда я #include , поиск выполняется в папке, отличной от заголовков, включенных в #include «someheader».То же самое должно быть в xcode, но кажется, что оно не работает.Из-за этого у меня возникают конфликты с локальными заголовками, имя которых совпадает с именем заголовков std (String.h и т. Д.), И я не могу включить заголовки std.Я попытался изменить опцию проекта «Всегда искать пути пользователя», но она все равно не работает.В справочном сообщении от этих опций сказано, что это решит мою проблему, но ...

Если включено, оба #includeДирективы -style и #include "header.h" будут искать пути в "Пути поиска по заголовку пользователя" перед "Пути поиска по заголовку", в результате чего заголовки пользователя (например, ваш собственный заголовок String.h) будут иметь приоритетнад системными заголовками при использовании #include,Это делается с помощью флага -iquote для путей, указанных в «Пути поиска по заголовкам пользователей».Если этот параметр отключен и ваш компилятор полностью поддерживает отдельные пути пользователей, заголовки пользователей будут доступны только с директивами препроцессора в стиле

, включая заголовок.

В целях обратной совместимости этот параметр включенпо умолчанию, но отключение настоятельно рекомендуется.[ALWAYS_SEARCH_USER_PATHS]

У вас есть идеи, как решить эту проблему?Я действительно не хочу менять имена файлов заголовков или удалять пути поиска из настроек проекта и использовать относительные пути к локальным файлам (../../ ... /SomeFolder/SomeHeader.h).

1 Ответ

1 голос
/ 09 января 2011

Я решил проблему, изменив расширение всех заголовков с h на hpp ... Это не настоящее решение, но я сохранил имена файлов и решил проблему, пока:)

...