Visual C ++ не разрешает пути для связанных заголовочных файлов - PullRequest
0 голосов
/ 21 февраля 2011

Я возвращаюсь в страну C ++ после многих лет странствий по пустыне .NET и обнаружил, что забыл страшные знания ...

У меня есть несколько проектов VC ++ 2010 (ProjA, ProjB и т. Д.) В решении (Sol). Каждый проект имеет ссылку на общий заголовочный файл (Header.h), связанный с уровнем каталога Sol до уровня ProjX. Попробуйте, как я мог, проект отказывается компилировать, с "" и без ", различные относительные и абсолютные пути к« дополнительным включениям »и т. Д., Если вместо этого я скопирую заголовочный файл в каталог проекта, то все хорошо.

Что дает? Я, очевидно, не хочу копировать файл, так как это противоречит его цели.

Ответы [ 3 ]

3 голосов
/ 21 февраля 2011

Спасибо за ответы;очень быстро!

Я нашел ответ.Включаемый файл был включен из файла ресурсов .RC, и у них есть свои собственные дополнительные пути включения: (

Обновлен, и все это хорошо скомпилировано.

Спасибо!

1 голос
/ 21 февраля 2011

Если моя память не обманывает меня, вы должны добавить каталог в список включаемых каталогов в свойствах проекта. Все включение, выполнение и тому подобное происходит относительно каталога проекта. (Каталог с файлом .prj). Мое решение было бы сделать проект "SolCommonUtils" или что-то, и добавить его в качестве зависимости. (Это также вызывает корректную перекомпиляцию.) Я не уверен, что включение будет добавлено автоматически, или вы должны добавить это от руки.

В общем, добавьте немного больше информации к своим вопросам. Какая у вас ошибка? Простой пример со структурой каталогов поможет увидеть проблему.

0 голосов
/ 21 февраля 2011

Вы уверены, что пробовали правильные относительные и абсолютные пути?Потому что, если файл существует и путь указан правильно, компилятор не сможет не найти файл *.Тот факт, что копирование рядом с проектом работает, показывает, что в одном или нескольких путях включения должна быть какая-то ошибка.

Возможно, вы смешивали переменные VisualStudio, например $(SolutionDir), и где-то получили неправильную?

* Изменить: Хорошо, если есть один способ: если учетная запись пользователя, под которой запущена VisualStudio, не имеет прав доступа к ней.

...