2016-07-22 5 views
1

Ich benutze Visual Studio 6, VC++ auf Windows 7 und schrieb ein einfaches Helloworld-Programm, das standardmäßig von VS6 erstellt wird. aber aufgrund printf es folgende Fehler geben:in VC++ VS6 ein einfacher printf gibt fatalen Fehler C1001: INTERNER COMPILER FEHLER

// testapp.cpp : Defines the entry point for the console application. 
// 

#include "stdafx.h" 

int main(int argc, char* argv[]) 
{ 
    printf("Hello World!\n"); 
    return 0; 
} 

Fehler:

--------------------Configuration: testapp - Win32 Debug-------------------- 
Compiling... 
StdAfx.cpp 
Compiling... 
testapp.cpp 
D:\PROJECTS\FATT\testapp\testapp.cpp(8) : fatal error C1001: INTERNAL COMPILER ERROR 
    (compiler file 'E:\8783\vc98\p2\src\P2\main.c', line 494) 
    Please choose the Technical Support command on the Visual C++ 
    Help menu, or open the Technical Support help file for more information 
Error executing cl.exe. 

testapp.exe - 1 error(s), 0 warning(s) 

warum printf und Arbeits sprintf nicht?

+0

Versuchen Sie, die IDE erhöht („Als Administrator ausführen“) ausgeführt wird. –

+0

jetzt habe ich versucht, VS „Als Administrator ausführen“, aber immer noch gleichen Fehler. – Rajesh

+0

Versuchen Sie vorkompilierte Header ausschalten –

Antwort

1

Wenn Sie VC++ 6 wirklich ausführen, ohne dass Service Packs installiert sind, könnte dies folgendermaßen aussehen: FIX: You receive a "Fatal error C1001" error message when you compile by using the /ZI and /Yc command-line switches without a file name in Visual C++ 6.0.

When you compile in Microsoft Visual C++ by using the /ZI and /Yc command-line switches without a file name, you may receive the following error message: fatal error C1001: INTERNAL COMPILER ERROR (compiler file 'E:\8168\vc98\p2\src\P2\main.c', line 494)

STATUS

This bug was corrected in Visual Studio 6.0 Service Pack 3.

WORKAROUND

To work around this problem, use one of the following methods:

  • Compile by using the /Zi command-line switch instead of the /ZI command-line switch.

  • Supply a file name by using the /Yc command-line switch. For example, use the following syntax: /Yc"FileName"

+0

Eigentlich I Ich habe dieses Problem nach der Installation von Visual Studio 6.0 Service Pack 6 bekommen. – Rajesh

+0

@Rajesh Ich kann Ihr Problem mit VC6 Sp6 unter Win7 hier nicht duplizieren. Bitte veröffentlichen Sie den Inhalt Ihrer 'stdafx.h'. Wählen Sie auch' Export Makefile' aus dem "Projekt" -Menü und posten Sie das auch. – dxiv

+0

Siehe testapp.mak: nicht in der Lage, hier zu posten, da es zu groß ist. – Rajesh

0

Mein erster Gedanke war, dass VS6 SP6 erforderlich sein könnte. (Vorherige Antwort). Große Projekte werden fehlschlagen (mit vielen Dateien) gibt es einen CL.exe-Absturz, der auch in SP3 behoben wird. Sie müssen nicht alle VS6 in der Installation für Win7 und neuer installieren. Es gibt ein Paket, das übersprungen werden muss, ADO/RDS und OLE Provider. Wenn Sie versuchen, diese Komponenten zu installieren, wird die VS6.0-Installation nicht mehr benötigt und später wird die VS6 SP6 nicht ordnungsgemäß installiert.

Screenshot of the VS6 install customization required for successful install of SP6 later

Ich habe im Jahr 2015 eine Menge Arbeit in der Amazon Cloud zu sehen, ob VS6.0 in Win2012 installieren, und es tut. Ich nehme an, Win7/8/10 wird ähnlich sein.

Es gibt auch einen/GF (String Pooling) Bug, den wir letztes Jahr (2016) in VS6.0 gefunden haben, der Dinge wirklich durcheinander bringen kann, wenn Sie Runtime-Suchen von Strings haben. Zwei verschiedene String-Namen können in einer einzigen Zeichenkette zusammengefasst werden, so dass die Suche in einer Liste von Zeichenketten niemals eine der beiden zur Laufzeit findet./GF wird von/ZI (IIRC) impliziert, also zu/Zi wechseln. (Ich kann das umgeschaltet haben). Empfehlung ist von VS6.0 zu wechseln -> so schnell wie möglich. Ich weiß, dass nicht möglich sein könnte :(.