1>正在生成代码
1>c:\********************************\src\thread.cpp : fatal error C1001: 编译器中发生内部错误。
1>(编译器文件“d:\agent\_work\1\s\src\vctools\compiler\utc\src\p2\main.c”,第 187 行)
1> 要解决此问题,请尝试简化或更改上面所列位置附近的程序。
1>请选择 Visual C++
1>“帮助”菜单上的“技术支持”命令,或打开技术支持帮助文件来获得详细信息。
1> link!InvokeCompilerPass()+0x3965d
1> link!CloseTypeServerPDB()+0x11d9a7
1>
情况描述:
Debug下编译正常,Release下编译报错,出问题的thread.cpp文件没有修改过
环境:Win10 + VS2017
出现做了如下尝试
1、升级IDE,IDE有可更新的版本,更新后问题依旧。
2、注释thread.cpp所有具体实现和头文件引用,问题依旧
3、调整编译器优化,原来项目的优化项“最大优化(优选速度) (/O2)",后经过调查有网友表示调整为不优化可通过编译。
打开项目的属性页->C++ -> 优化 -> 优化项调整为"禁用/od",然后重新编译通过,后面尝试"优化(优选速度) (/Ox)"也可以通过编译。
但是不希望调整该优化选项,保持编译器的最大优化。暂时不考虑该解决方式。
4、最后对比了下最近改动可能导致问题的可疑点,进行了还原,然后编译通过,再还原回来,编译依然通过。
最后又多次重新编译尝试,没有出现编译器错误.......莫名奇妙的修复了,如果有大佬知道具体原因欢迎分享。
如果遇到类似的问题可以考虑如下步骤解决
1、如果有提示具体的文件和行数,则可以直接从该出问题的代码调整看看是否能修复
2、如果没有具体的行数,大概率不完全由于该文件直接导致的,可以考虑先清理下工程,重启系统,有时候启动时间过长会导致一些不可预知的错误。
3、如果重启还没有效果,不介意优化选项调整的话,可直接调整编译优化选项。
4、没招就只能走查代码了,需要比对下最近最可疑的修改尝试还原。
5、有些问题可能是特定IDE版本导致的,可以试试更新IDE