首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >2015致命错误C1001

2015致命错误C1001
EN

Stack Overflow用户
提问于 2016-09-18 14:32:09
回答 3查看 1.4K关注 0票数 1

我正在尝试构建一个项目(子系统:WINDOWS),我的主要内容如下:

代码语言:javascript
复制
int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow) {/*Code here*/}

在构建发布版本时,VisualStudio Community2015 v.14.0.25431.01中出现了以下错误:

代码语言:javascript
复制
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专家。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-09-18 16:20:09

好吧。我通过创建一个新项目并将旧项目中的所有.cpp & .h文件添加到其中,从而解决了这个问题。

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

票数 0
EN

Stack Overflow用户

发布于 2018-02-12 03:19:07

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

所有5226个函数都是编译的,因为没有找到以前编译时可用的IPDB/IOBJ。

然后,当我检查未能链接的项目的..and文件的日期时,我注意到文件日期仍然是昨天晚上的。一旦我删除了发布文件夹中的所有*.ipdb文件,它就迫使Visual 2015在下一个构建中重新创建它们,然后我的项目成功构建!

票数 1
EN

Stack Overflow用户

发布于 2017-12-29 13:20:12

在VisualStudio2017中,需要将Project->Properties->C/C++->Optimization->Whole程序优化切换到“否”而不是“是”。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39558762

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档