2016-09-18 186 views
0

我想建立一个项目(子系统:WINDOWS)和我的主看起来像这样:的Visual Studio 2015年致命错误C1001

int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow) {/*Code here*/} 

我获得以下的VisualStudio中社区2015年v错误14.0.25431.01建设时。发行版:

1>e:\github\g19systemmonitor\g19tastatur applet\main.cpp : fatal error C1001: Interner Compilerfehler. 
1> (Compilerdatei "f:\dd\vctools\compiler\utc\src\p2\main.c", Zeile 255) 
1> Vereinfachen oder ändern Sie das Programm im Umfeld der oben aufgeführten Positionen. Wählen 
1> Sie im Menü "Hilfe" von Visual C++ den Befehl "Technischer Support", 
1> oder öffnen Sie die Hilfedatei des technischen Supports, um weitere Informationen zu erhalten. 
1> link!InvokeCompilerPass()+0x24399 
1> link!InvokeCompilerPass()+0x24399 
1> link!InvokeCompilerPass()+0x1dda7 
1> link!InvokeCompilerPass()+0x1dc8b 
1> link!InvokeCompilerPass()+0x298f7 
1> link!InvokeCompilerPass()+0x214ba 
1> link!DllGetC2Telemetry()+0xe39f7 
1> 
1>e:\github\g19systemmonitor\g19tastatur applet\main.cpp : fatal error C1001: Interner Compilerfehler. 
1> (Compilerdatei "f:\dd\vctools\compiler\utc\src\p2\main.c", Zeile 255) 
1> Vereinfachen oder ändern Sie das Programm im Umfeld der oben aufgeführten Positionen. Wählen 
1> Sie im Menü "Hilfe" von Visual C++ den Befehl "Technischer Support", 
1> oder öffnen Sie die Hilfedatei des technischen Supports, um weitere Informationen zu erhalten. 
1> link!InvokeCompilerPass()+0x24399 
1> link!InvokeCompilerPass()+0x1dda7 
1> link!InvokeCompilerPass()+0x1dc8b 
1> link!InvokeCompilerPass()+0x298f7 
1> link!InvokeCompilerPass()+0x214ba 
1> link!DllGetC2Telemetry()+0xe39f7 
1> 
1> 
1>LINK : fatal error LNK1000: Internal error during IMAGE::BuildImage 
1> 
1> Version 14.00.24215.1 
1> 
1> ExceptionCode   = C0000005 
1> ExceptionFlags   = 00000000 
1> ExceptionAddress   = 502E892F (4FF40000) "D:\Programme\Visual Studio 2015\VC\bin\c2.dll" 
1> NumberParameters   = 00000002 
1> ExceptionInformation[ 0] = 00000000 
1> ExceptionInformation[ 1] = 00000036 
1> 
1> CONTEXT: 
1> Eax = 00000000 Esp = 012FE5C0 
1> Ebx = 00000000 Ebp = 012FE5D4 
1> Ecx = 05650210 Esi = 00000024 
1> Edx = 00000000 Edi = 05650210 
1> Eip = 502E892F EFlags = 00010246 
1> SegCs = 00000023 SegDs = 0000002B 
1> SegSs = 0000002B SegEs = 0000002B 
1> SegFs = 00000053 SegGs = 0000002B 
1> Dr0 = 00000000 Dr3 = 00000000 
1> Dr1 = 00000000 Dr6 = 00000000 
1> Dr2 = 00000000 Dr7 = 00000000 

几个星期前,我是能够建立该项目的发行版使用相同的编译器设置和相同的代码,因为我现在用完美。 我已经尝试删除MSDN中推荐的优化,但无法正常工作。

但我已经发现了一些奇怪:

当我删除任何3个文件的文件(.exe .iobj .ipdb)在发行文件夹,并重新生成解决方案,它工作得很好(新版本3个文件正在创建)。当我更改项目中的任何设置或仅添加一行代码并尝试重建时,会发生相同的错误。如果我再次删除这3个文件中的一个,我可以再次构建。

我认为这种行为可以通过一些编译器设置,我不知道引起的,但我不知道,因为我不是一个专家的VisualStudio。

+0

德语文本只说内部编译器错误并联系支持。 –

回答

0

O.k.我通过创建一个新项目并将旧项目中的所有.cpp & .h文件添加到该项目中来解决了该问题。

我仍然认为有与我通过创建一个新的项目设置为默认的项目设置有问题。

0

在Visual Studio 2017年,您需要将项目 - >属性 - > C/C++开关 - > Optimization->所有程序优化为否而不是是。

+0

也许在你的具体情况。内部编译器错误通常依赖于编译器正在编译的代码。 – drescherjm

0

这发生在我身上,我通过去我的发布文件夹和删除所有* .ipdb文件来修复它。我注意到在项目链接成功的是Visual Studio中有时会说:

所有5226的功能进行了汇编,因为从以前 汇编没有可用IPDB/IOBJ被发现。

..和然后当我检查的日期上项目的* .ipdb文件是失败联系起来,我注意到该文件日期是仍然昨天晚上。一旦我删除了发布文件夹中的所有* .ipdb文件,它就迫使Visual Studio 2015在下一个版本中重新创建它们,然后我的项目成功构建!

相关问题