如何快速调试C ++包含文件问题

时间:2011-08-08 07:49:28

标签: c++ debugging compiler-errors

我们经常会遇到如下问题:

1>Compiling...
1>a.cpp
1>c:\apps\b.h(22) : fatal error C1083: Cannot open include file: 'boost/shared_ptr.hpp': No such file or directory

有时它可能很繁琐,因为在一个大项目中有很多包含文件甚至嵌套的包含文件。

跟踪/哪个包含文件的最佳方法是包含有问题的包含文件的罪魁祸首(父级)?

问题是它有嵌套的include,所以需要花一些精力才能告诉哪个文件实际包含b.h。

3 个答案:

答案 0 :(得分:4)

看起来你在Windows上(因此可能使用Microsoft C / C ++编译器)。在这种情况下,您可以使用/showIncludes选项。另请参阅此SO answer

这使您可以“直观地”查看哪个头文件包含哪个,为您提供更多信息。

更新:显然GCC有some similar options

答案 1 :(得分:0)

Autotools具有此功能。您可以检查某些头文件是否存在。我确定其他构建工具具有类似的功能......

答案 2 :(得分:0)