Файл #include найден в отладочной сборке, но не в сборке выпуска - PullRequest
1 голос
/ 19 октября 2011

У меня есть проект C ++ (Brew C ++) в MVSC ++ 10, который компилируется в отладочной сборке, но не в сборке выпуска, но я не могу понять, почему нет.

Проблема в том, что заголовочные файлы в определенном каталоге не могут быть найдены, структура каталога:

.mak
.sln
etc.
/inc/A/m.h
/inc/B/n.h
/inc/C/o.h
/inc/util/html/a.h
/inc/util/html/b.h
/src/A/
/src/B/
/src/C/
/src/util/html/

т.е. основные файлы проекта находятся в корневом каталоге, а заголовочные и исходные файлы распределены по подпапкам.

a.h и b.h можно найти в отладочной сборке, но не найти в сборке выпуска.

И все же файл .mak содержит:

....
INCDIRS := ....
$(ProjectDir)inc/A \
$(ProjectDir)inc/B \
$(ProjectDir)inc/util/html

Таким образом, несмотря на то, что / inc / util / html указан как каталог включения в .mak, проект не может его найти - но только в сборке выпуска.

Между отладочной и реляционной сборками нет условного поведения - файлы заголовков включены в исходный код независимо от конфигурации сборки. И приведенный выше фрагмент - это единственное место в файле .mak, в котором указаны включаемые каталоги.

Так почему должна быть разница между сборками отладки и сборками выпуска?

Есть идеи?

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...