我不知道我做错了什么,但是突然间我的C++项目在该项目的某个部分中为每一行头文件抛出错误。其中一个文件中肯定有问题,但我应该如何找出这100个错误中的哪一个是相关的?我可以做些什么关于“错过X之前”级联错误?
登录样子:
5>d:\ ... PROJECT_HOME ... \services\src\services\database\techcore\processes\inputdialog\../import/ImportDataSource.h(10): error C2143: syntax error : missing ',' before ')'
5>d:\ ... PROJECT_HOME ... \services\src\services\database\techcore\processes\inputdialog\../import/ImportDataSource.h(16): error C3861: 'mapping_': identifier not found
5>d:\ ... PROJECT_HOME ... \services\src\services\database\techcore\processes\inputdialog\../import/ImportDataSource.h(17): error C2143: syntax error : missing ',' before '{'
5>d:\ ... PROJECT_HOME ... \services\src\services\database\techcore\processes\inputdialog\../import/ImportDataSource.h(17): error C2143: syntax error : missing ';' before '{'
5>c:\qt\5.3.0-64\qtbase\include\qtwidgets\../../src/widgets/kernel/qaction.h(162): error C2143: syntax error : missing ';' before '{'
5>c:\qt\5.3.0-64\qtbase\include\qtwidgets\../../src/widgets/kernel/qaction.h(162): error C2065: 'Hover' : undeclared identifier
5>d:\ ... PROJECT_HOME ... \services\src\services\database\techcore\processes\inputdialog\../import/ImportDataSource.h(30): error C2143: syntax error : missing ';' before '{'
5>c:\qt\5.3.0-64\qtbase\include\qtwidgets\../../src/widgets/kernel/qaction.h(177): error C2065: 'QGraphicsWidget' : undeclared identifier
我故意复制部分地方错误也来自外部库。编译器简直疯了。我该如何解决这个问题?我如何找到导致这种级联错误的地方?是否有一些验证程序可以处理文件并提供一些提示?我手动浏览了大部分文件,他们似乎是正确的。
这不是第一次发生在我身上,所以我决定现在是时候询问如何解决这些问题了。
你应该看看第一个错误。所有其他人都是不相关的(除非你能确切地知道他们来自哪里)。查看第一条错误消息中提到的行的代码。 –
制作[mcve]通常会有所帮助 – NathanOliver
启用致命错误(GCC上的'-Wfatal-errors',在MSVC上可能具有相同的效果)会阻止编译进行并编译更多文件,从而减少输出量。然后找到第一个报告的错误并向后搜索(也可以下载到'#include'd文件中)。错字通常离那里不远。 – Quentin