2016-09-18 2 views
0

치명적인 오류 (SUBSYSTEM : WINDOWS)와 같은 내 주요 외모 :비주얼 스튜디오 2015 I 프로젝트를 구축을 위해 노력하고있다 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 개의 파일 중 하나를 다시 삭제하면 한 번 더 빌드 할 수 있습니다.

이 동작은 일부 컴파일러 설정으로 인해 발생할 수 있지만 Visual Studio 전문가가 아닌 것으로 확신하지는 않습니다.

+0

독일어 텍스트에는 내부 컴파일러 오류 만 표시되며 지원 담당자에게 문의하십시오. –

답변

0

O.k. 새 프로젝트를 만들고 .cpp & .h 파일을 이전 프로젝트의 모든 .h 파일에 추가하여 문제를 해결했습니다.

나는 여전히 새 프로젝트를 만들어서 기본값으로 설정 한 프로젝트 설정에 문제가 있다고 생각합니다.

0

Visual Studio 2017에서 Project-> Properties-> C/C++-> Optimization-> Whole Program Optimization을 Yes 대신 No로 전환해야합니다.

+0

구체적인 경우 일 수 있습니다. 내부 컴파일러 오류는 대개 컴파일러가 컴파일하는 코드에 따라 다릅니다. – drescherjm

0

내게 이런 일이 발생했고, 내 Release 폴더로 이동하여 모든 * .ipdb 파일을 삭제하여 문제를 해결했습니다. 이전 컴파일에서 더 사용할 수 IPDB/IOBJ가 발견되지 않았기 때문에

모든 5226 기능은 컴파일 된 : 가끔 비주얼 스튜디오는 말했다 이 성공적으로 링크를했던 프로젝트에 나타났습니다. 내가 연결 실패 된 프로젝트에 대한 * .ipdb 파일에 날짜를 선택한 경우

은 .. 그리고 그때, 나는 파일 날짜가 어제 저녁에서 여전히 나타났습니다. Release 폴더에서 * .ipdb 파일을 모두 삭제하면 Visual Studio 2015에서 다음 빌드에서 다시 만들도록하고 프로젝트를 성공적으로 빌드했습니다.

관련 문제