我在MVSC ++ 10中有一个C ++(Brew C ++)项目,它在调试版本中编译但在发布版本中没有编译,但我无法理解为什么不这样做。
问题是无法找到某个目录中的头文件,目录结构为:
.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中的include目录,项目也无法找到它 - 但仅限于发布版本。
我可以看到调试和重新构建之间没有条件行为 - 无论构建配置如何,头文件都包含在源代码中。上面的代码片段是.mak文件中唯一指定包含目录的位置。
那么为什么调试版本和发布版本之间会有区别呢?
有什么想法吗?
由于