VS2010 Каталоги дополнительных включений не работают - PullRequest
1 голос
/ 11 февраля 2012

Я недавно начал довольно небольшой 2D-проект с использованием SFML и TinyXML, и до недавнего времени он работал нормально.Я организовал структуру папок в личном, но мобильном состоянии, чтобы можно было скопировать его на другой компьютер и продолжить без дополнительной настройки.

Однако при компиляции я получаю проблемы, включая файлы.

spaaace \ source \ xmlparser.h (4): фатальная ошибка C1083: невозможно открыть включаемый файл: 'TinyXML \ tinyxml.h': такого файла или каталога нет

Так что я решил, что, должно быть, забыл обновить «дополнительные каталоги включения» (которых, кстати, есть только один), но нет, все та же проблема.

Это похоже на такую ​​простую небольшую проблемуи я уверен, что удару себя по лицу, когда найду причину.Я потратил более получаса, пытаясь это исправить, Google и т. Д.

Чтобы уточнить, структура моего проекта выглядит примерно так:

base \ include \SFML

base \ include \ TinyXML

base \ project \ debug

base \ project \ release

base \ project \ project \ source \

Со всеми моими фактическими исходными файлами в последнем.Я выбрал папку для включения как минимум полдюжины раз через «C / C ++> Общие> Дополнительные каталоги включения» без изменений.

Я попытался включить папку примерно 20 различными способами, и толькотот, который, кажется, работает, использует полный путь (например, C: \ users \ admin \ desktop \ project \ include), который кажется непрактичным.Я также считаю нецелесообразным помещать весь каталог include в мой проект, что в первую очередь противоречит его цели.

Я пробовал:>

include "tinyxml.h "

include" TinyXML / tinyxml.h "

include" include / TinyXML / tinyxml.h "

include" ../TinyXML/tinyxml.h "

include "../../TinyXML/tinyxml.h"

include" ../include/TinyXML/tinyxml.h"

include "../include / TinyXML / tinyxml.h "

и т. д., а также использование <> s вместо" "s.

Еще одна заметка, это не только TinyXML,имея эту проблему, SFML тоже;это не специфично для файла.

1 Ответ

3 голосов
/ 11 февраля 2012

Дополнительные пути к каталогам относятся к расположению файла вашего проекта (.vcxproj).Итак, учитывая, что файл вашего проекта находится в каталоге base / project , вы можете указать один дополнительный каталог:

.. \ include

Затем добавьте:

#include <TinyXML/tinyxml.h>

Угловые скобки используются для указания компилятору начать поиск с мест поиска, а не из каталога, где находится заголовок / cpp с этой директивой.

...