3Danke
ERLEDIGT
JA
JA
ANTWORTEN
11
11
ZUGRIFFE
675
675
EMPFEHLEN
-
13.01.12 10:10 #1
Guten morgen,
seit gestern kämpfe ich mit diesem Compilerfehler ....
Ich habe in insgesamt 5 verschiedenen Projekten eine neue Klasse eingefügt. Vier davon lassen sich problemlos compilieren, das fünfte nur als DEBUG-Version; beim RELEASE kommt der Fehler (auch wenn ich die neue Klasse alleine compliere) !
der Header:1>cl : Befehlszeile error D8030: INTERNER COMPILERFEHLER in ""
1> Klicken Sie im Menü "Hilfe" von Visual C++ auf "Technischer Support",
1> oder öffnen Sie die Hilfe zum technischen Support, um weitere Informationen zu erhalten.
Code cpp:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
// CSCmdMaps.h: Schnittstelle für die Klasse CCSCmdMaps // ////////////////////////////////////////////////////////////////////// #pragma once #include <map> #include <string> using namespace std; class CCSCmdMaps { public: CCSCmdMaps(void); virtual ~CCSCmdMaps(void); map<int,string> fFillStatusMap(); map<int,string> fFillLoginMap(); map<int,string> fFillSDataMap(); map<int,string> fFillFaxCmdsMap(); map<int,string> fFillCRMCmdsMap(); map<int,string> fFillRemoteControlMap(); };
die cpp-Datei (leicht anonymisiert)
Code cpp:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116
// CSCmdMaps.cpp: Implementierung der Klasse CCSCmdMaps // ////////////////////////////////////////////////////////////////////// #include "stdafx.h" #include "CSCmdMaps.h" #ifdef _DEBUG #undef THIS_FILE static char THIS_FILE[]=__FILE__; #define new DEBUG_NEW #endif ////////////////////////////////////////////////////////////////////// // Konstruktion/Destruktion ////////////////////////////////////////////////////////////////////// CCSCmdMaps::CCSCmdMaps(void) {} CCSCmdMaps::~CCSCmdMaps(void) {} // ########################################################################################################## // ########## Füllen der Map für die CommandGroup Statusinformationen: ID_REQ_CG_STATUS (0x002) ########## // ########################################################################################################## map<int,string> CCSCmdMaps::fFillStatusMap() { map<int,string> mapStatus; mapStatus[0x01] = "AAA"; // ... mapStatus[0x0E] = "ZZZ"; return mapStatus; } // fFillStatusMap // ########################################################################################### // ########## Füllen der Map für die CommandGroup Login: ID_REQ_CG_LOGIN (0x003) ########## // ########################################################################################### map<int,string> CCSCmdMaps::fFillLoginMap() { map<int,string> mapLogin; mapLogin[0x01] = "AAA"; // ... mapLogin[0x015] = "ZZZ"; return mapLogin; } // fFillLoginMap // ########################################################################################### // ########## Füllen der Map für die CommandGroup Login: ID_REQ_CG_SDATA (0x005) ########## // ########################################################################################### map<int,string> CCSCmdMaps::fFillSDataMap() { map<int,string> mapSData; mapSData[0x090] = "AAA"; mapSData[0x091] = "ZZZ"; return mapSData; } // fFillSDataMap // ############################################################################################# // ########## Füllen der Map für die CommandGroup Login: ID_CG_FAXCOMMANDS (0x00A) ########## // ############################################################################################# map<int,string> CCSCmdMaps::fFillFaxCmdsMap() { map<int,string> mapFaxCmds; mapFaxCmds[0x01] = "AAA"; // ... mapFaxCmds[0x0C] = "ZZZ"; return mapFaxCmds; } // fFillFaxCmdsMap // ############################################################################################# // ########## Füllen der Map für die CommandGroup Login: ID_CG_CRMCOMMANDS (0x00B) ########## // ############################################################################################# map<int,string> CCSCmdMaps::fFillCRMCmdsMap() { map<int,string> mapCRMCmds; mapCRMCmds[0x001] = "AAA"; // ... mapCRMCmds[0x25c] = "ZZZ"; return mapCRMCmds; } // fFillCRMCmdsMap // ####################################################################################################### // ########## Füllen der Map für die CommandGroup Login: ID_CG_REMOTECONTROLLCOMMANDS (0x0c) ########## // ####################################################################################################### map<int,string> CCSCmdMaps::fFillRemoteControlMap() { map<int,string> mapRemoteControl; mapRemoteControl[0x001] = "AAA"; // ... mapRemoteControl[0x010] = "ZZZ"; return mapRemoteControl; } // fFillRemoteControlMap
Das Einzige, was mich leicht irritiert, ist dieser Teil:
Normalerweise werden ja hierbei im Release-Mode die drei inneren Zeilen hellgrau dargestellt, das da define nicht aktiv ist (ist es lt. Projekteinstellungen auch nicht) - was jedoch im fehlerhaften Projekt NICHT der Fall ist.Code cpp:1 2 3 4 5
#ifdef _DEBUG #undef THIS_FILE static char THIS_FILE[]=__FILE__; #define new DEBUG_NEW #endif
Ich bin über Google auf diese Seite (http://support.microsoft.com/kb/2546748/en-us) gestoßen, finde allerdings die erwähnte Einstellung /MP in meinen Projekteinstellungen nicht ...
Ich hoffe, dass irgend jemand hierzu eine zündende Idee hat!
Danke und Gruß
KlausEs ist noch kein Meister vom Himmel gefallen - sonst hätte man schon längst seine Leiche gefunden !!
Falls ich helfen konnte, wäre eine Bewertung oder ein Danke nett ;-)
-------------------------------------------------------------------------------------------------
Ich beantworte keine Fragen per PN !!
Stellt Eure Fragen im Forum - dann haben alle etwas davon !!
-
13.01.12 13:21 #2
Hallo,
so, ich habe noch ein wenig weiter geforscht.
Der Compilerschalter /MP habe ich gefunden - er stand eindeutig auf NEIN (kann als nicht das im o. g. Link erwähnte Problem sein) ....
Ich habe dann mal die neu Klasse mit allen Aufrufen komplett entfernt - und konnte die Releaseversion wieder erstellen.
Das Problem tritt aber auch dann auf, sobald ich jetzt irgendeine 'leere' neue Klasse hinzufüge (also nur mit Konstruktor und Destruktor) - und eben nur in der Releaseversion .....
Gruß
KlausEs ist noch kein Meister vom Himmel gefallen - sonst hätte man schon längst seine Leiche gefunden !!
Falls ich helfen konnte, wäre eine Bewertung oder ein Danke nett ;-)
-------------------------------------------------------------------------------------------------
Ich beantworte keine Fragen per PN !!
Stellt Eure Fragen im Forum - dann haben alle etwas davon !!
-
Ich kann dir gerade nicht sagen, ob es wirklich _DEBUG oder nur DEBUG ist. Ansonsten probiere mal #ifndef NDEBUG (den gibt es auf jedenfall
)
Ansonsten mal alle Funktionen rauswerfen, kompilieren. Nach und nach wieder die Funktionen mit aufnehmen. Irgendwann kannst du vielleicht eingrenzen, wo der Fehler liegt.
-
14.01.12 09:20 #4
Moin,
erstmal Danke für Deine Antwort
Ok, NDEBUG wäre sicherlich eine Möglichkeit ... werde ich am Montag mal testen !
Allerdings ist bei mir in den DEBUG-Versionen eindeutig "_DEBUG" gesetzt!
Aber wie ich in meinem zweiten Post schon schrieb, habe ich diese neue Klasse mit allen Aufrufen komplett aus dem Projekt rausgeworfen und konnte dann die Releaseversion wieder erzeugen.
Das Problem tritt aber jetzt immer wieder auf, sobald ich jetzt auch nur irgendeine beliebige neue Klasse nur mit Konstruktor und Destruktor hinzufüge - und eben nur in der Releaseversion .....
Bin derzeit absolut ratlos
Gruß
KlausEs ist noch kein Meister vom Himmel gefallen - sonst hätte man schon längst seine Leiche gefunden !!
Falls ich helfen konnte, wäre eine Bewertung oder ein Danke nett ;-)
-------------------------------------------------------------------------------------------------
Ich beantworte keine Fragen per PN !!
Stellt Eure Fragen im Forum - dann haben alle etwas davon !!
-
Hallo,
hast du das Projekt nach dem Hinzufügen der Klasse auch mal komplett bereinigt und neu erstellt? Verwendest du vorkompilierte Header? Falls ja, schalte die Funktion testweise mal ab.
Grüße,
Matthias„Gib einem Menschen einen Fisch, und er wird für einen Tag satt. Lehre ihn Fischen, und er wird ein Leben lang satt.“
“For every complex problem, there is an answer that is short, simple and wrong.”
“Pessimism is safe, but optimism is a lot faster!”
Aktuelles Coding Quiz: #17 - Wörter kreuz und quer
-
14.01.12 14:41 #6
Moin Matthias,
bereinigt und neu erstellt - ja!
Ok, das mit den vorcompilierten Headern werde ich am Montag morgen mal prüfen und ggf. testen! Danke für den Hinweis
Gruß
KlausEs ist noch kein Meister vom Himmel gefallen - sonst hätte man schon längst seine Leiche gefunden !!
Falls ich helfen konnte, wäre eine Bewertung oder ein Danke nett ;-)
-------------------------------------------------------------------------------------------------
Ich beantworte keine Fragen per PN !!
Stellt Eure Fragen im Forum - dann haben alle etwas davon !!
-
16.01.12 08:09 #7
Guten Morgen .....
tja, die vorkompilierten Header sind bei mir schon ausgeschaltet gewesen ....
Ich poste jetzt hier mal die kompletten Befehlszeilen, so wie sie bei mir in den Eigenschaften stehen:
Code cpp:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
// ### // C++ // ### /I"D:\Eigene Dateien\Visual Studio 2010\Projects\Crypto561" /Zi /nologo /W3 /WX- /O2 /Ob1 /Oy- /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_VC80_UPGRADE=0x0600" /D "_MBCS" /GF /Gm- /EHsc /MT /GS /Gy /fp:precise /Zc:wchar_t /Zc:forScope /Fp".\MYAPP_Release\MYAPP.pch" /Fa".\MYAPP_Win32_Release\" /Fo".\MYAPP_Win32_Release\" /Fd".\MYAPP_Win32_Release\" /Gd /analyze- /errorReport:none // ###### // Linker // ###### /OUT:".\MYAPP_Win32_Release\#MYAPP.exe" /INCREMENTAL:NO /NOLOGO /LIBPATH:"D:\Eigene Dateien\Visual Studio 2010\Projects\Crypto561\Win32\Output\Release" "ws2_32.lib" "cryptlib.lib" "nafxcw.lib" "libcmt.lib" /NODEFAULTLIB:"Libc.lib" /NODEFAULTLIB:"libcmt.lib" /NODEFAULTLIB:"msvcrt.lib" /NODEFAULTLIB:"libcd.lib" /NODEFAULTLIB:"msvcrtd.lib" /MANIFEST /ManifestFile:".\MYAPP_Win32_Release\#MYAPP.exe.intermediate.manifest" /ALLOWISOLATION /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /PDB:"D:\Eigene Dateien\Visual Studio 2010\Projects\MYAPP\MYAPP_Win32_Release\#MYAPP.pdb" /SUBSYSTEM:WINDOWS /PGD:"D:\Eigene Dateien\Visual Studio 2010\Projects\MYAPP\MYAPP_Win32_Release\#MYAPP.pgd" /TLBID:1 /DYNAMICBASE /NXCOMPAT /MACHINE:X86 /ERRORREPORT:NONE // ############ // Manifesttool // ############ /nologo /verbose ".\MYAPP_Win32_Release\#MYAPP.exe.embed.manifest.res" // ########## // Ressourcen // ########## /D "_VC80_UPGRADE=0x0600" /l 0x0407 /nologo /fo".\MYAPP_Win32_Release\%(Filename).res" // ###################### // XML-Dokument-Generator // ###################### /nologo /Fo".\MYAPP_Win32_Release\#MYAPP.xml" // ####################### // Information durchsuchen // ####################### /nologo /o".\MYAPP_Win32_Release\MYAPP.bsc" // ---------------------------------------------------------------------------- // MYAPP dient hier der Anonymisierung // die '#' vor dem Dateinamen ist so gewollt // ----------------------------------------------------------------------------
Ich hoffe auf weitere Ideen .....
Gruß
KlausEs ist noch kein Meister vom Himmel gefallen - sonst hätte man schon längst seine Leiche gefunden !!
Falls ich helfen konnte, wäre eine Bewertung oder ein Danke nett ;-)
-------------------------------------------------------------------------------------------------
Ich beantworte keine Fragen per PN !!
Stellt Eure Fragen im Forum - dann haben alle etwas davon !!
-
16.01.12 09:40 #8
- Registriert seit
- Jun 2005
- Beiträge
- 8.168
Hi.
Welche Version von VS2010 hast du denn?
VS10 Service Pack installiert?
GrußIf at first you don't succeed, try again. Then quit. No use being a damn fool about it.
-
16.01.12 09:43 #9
Moin deepthroat,
lt. Info:
VS: Version 4.0.40219 SP1Rel
.NET: Version 4.0.30319 SP1Rel
Gruß
KlausEs ist noch kein Meister vom Himmel gefallen - sonst hätte man schon längst seine Leiche gefunden !!
Falls ich helfen konnte, wäre eine Bewertung oder ein Danke nett ;-)
-------------------------------------------------------------------------------------------------
Ich beantworte keine Fragen per PN !!
Stellt Eure Fragen im Forum - dann haben alle etwas davon !!
-
16.01.12 09:57 #10
- Registriert seit
- Jun 2005
- Beiträge
- 8.168
OK, sieht soweit gut aus.
Folge mal diesen Anweisungen:
Und häng die .txt dann hier an.go to "Tools" menu, and then "Options...". Next, expand the "Projects and Solutions" tree and select "Build and Run". On the page that comes up on the right, please select "Diagnostic" under the second to last option, "MSBuild project build output verbosity". Then click Ok to the dialog, and build the project using the "Rebuild Solution" from the "Build" menu. Once the project has completed building, please copy all output from the Output window (you can open the output window by going to the "View" menu, and select the "Output" view) and paste into a text document
GrußIf at first you don't succeed, try again. Then quit. No use being a damn fool about it.
-
16.01.12 10:10 #11
Sorry - hat etwas gedauert, da wir hier die deutsche Version am Start haben

ok, here we go ...
Gruß
Klaus
EDIT: die neue Klasse heißt derzeit zum Testen "AATest.cpp"Geändert von vfl_freak (16.01.12 um 10:14 Uhr)
Es ist noch kein Meister vom Himmel gefallen - sonst hätte man schon längst seine Leiche gefunden !!
Falls ich helfen konnte, wäre eine Bewertung oder ein Danke nett ;-)
-------------------------------------------------------------------------------------------------
Ich beantworte keine Fragen per PN !!
Stellt Eure Fragen im Forum - dann haben alle etwas davon !!
-
17.01.12 15:19 #12
So, nach längerem Suchen könnte ich das Problem lösen

Das Problem lag in der Projektdatei .vcxproj begründet.
Dort lagen für alle (alten) Sourcen Einträge in der folgenden Form vor, die aller Voraussicht nach durch die Konvertierung von VS6 nach VS2010 zustande gekommen sind :
Code cpp:1 2 3
<ClCompile Include="meineKlasse.cpp"> <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> /D /D </AdditionalOptions> </ClCompile>
Für die neue, leere Klasse gab es diesem Eintrag nicht, was den Compiler wohl aus dem Takt gebracht hat.
Nach der Korrektur dieser Zeilen
lies sich das Projekt dann wieder problemlos compilieren !Code cpp:1
<ClCompile Include="meineKlasse.cpp" />
Danke trotzdem für die Unterstützung
Gruß
KlausEs ist noch kein Meister vom Himmel gefallen - sonst hätte man schon längst seine Leiche gefunden !!
Falls ich helfen konnte, wäre eine Bewertung oder ein Danke nett ;-)
-------------------------------------------------------------------------------------------------
Ich beantworte keine Fragen per PN !!
Stellt Eure Fragen im Forum - dann haben alle etwas davon !!
Ähnliche Themen
-
Interner Serverfehler statt PHP-Error
Von para_noid im Forum Hosting & WebserverAntworten: 9Letzter Beitrag: 12.12.11, 21:01 -
Compilerfehler: error C2440
Von skynetcom im Forum C/C++Antworten: 2Letzter Beitrag: 14.05.11, 23:15 -
Visual Studio 2010 error C2061 'identifier'
Von afg_style im Forum VisualStudio & MFCAntworten: 7Letzter Beitrag: 04.03.11, 18:27 -
[VC++ 2003.NET] Interner Compilerfehler (hilfe)
Von g4mmler im Forum C/C++Antworten: 0Letzter Beitrag: 05.01.07, 18:22 -
Compilerfehler: 'error C2558' und 'error C2679'
Von jokey2 im Forum VisualStudio & MFCAntworten: 1Letzter Beitrag: 22.05.06, 16:07





Zitieren
Login






