www.mikrocontroller.net

Forum: PC-Programmierung Fehlermeldung von Microsoft Visual C++ 2003


Autor: tool (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich muss ein vorhandenes C++ Projekt abändern. Auf meinem Rechner habe 
ich Microsoft Visual Studion.Net 2003 installiert. Wenn ich das Projekt 
kompiliere erhalte ich immer diese Fehlermeldung:
------ Erstellen gestartet: Projekt: GDE_3, Konfiguration: Debug Win32 ------

Kompilieren...
user.cpp
d:\Dokumente\Test\user.cpp(6) : fatal error C1853: Die vorkompilierte Header-Datei 'Debug/GDE_3.pch' stammt von einer früheren Version des Compilers, oder der vorkompilierte Header stammt von C++, und Sie verwenden Ihn von C (oder umgekehrt)

Das Build-Protokoll wurde unter "file://d:\Dokumente\Test\Debug\BuildLog.htm" gespeichert.
GDE_3 - 1 Fehler, 0 Warnung(en)


---------------------- Fertig ----------------------

    Erstellen: 0 erfolgreich, 1 fehlgeschlagen, 0 übersprungen


Was kann ich tun?

Autor: Uhu Uhuhu (uhu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein Clean ausführen, oder ein Rebuild.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zumindest in früheren Version von Dev-Studio gab es manchmal
auch den Fall, dass ein kompletter Rebuild auch nichts geholfen
hat.
In dem Fall: Das Debug Verzeichnis komplett löschen.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
... oder eben genau die angegebene Datei löschen.

Autor: tool (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab sowohl die Datei als auch den ganzen DEBUG Ordner gelöscht.
------ Erstellen gestartet: Projekt: GDE_3, Konfiguration: Release Win32 ------

Verknüpfen...
nafxcw.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) bereits in libcpmt.lib(newop.obj) definiert
nafxcw.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new[](unsigned int)" (??_U@YAPAXI@Z) bereits in libcpmt.lib(newaop.obj) definiert
Release/GDE_3.exe : fatal error LNK1169: Ein oder mehrere mehrfach definierte Symbole gefunden

GDE_3 - 3 Fehler, 0 Warnung(en)


---------------------- Fertig ----------------------

    Erstellen: 0 erfolgreich, 1 fehlgeschlagen, 0 übersprungen

Was kann ich noch tun?

Autor: tool (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
... ich habs sogar mit dem Bereinigen versucht. Hilft alles nichts.

Autor: Uhu Uhuhu (uhu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
tool, warum list du eigentlich nicht die Fehlermeldungen? Dort steht
doch ganz genau was Sache ist... Oder kannst du kein Englisch?

Mit dem vorherigen Fehler hat das jetzt nicht mehr die Bohne zu tun.

Der Linker sagt, daß in nafxcw.lib die Operatorfunktionen

   void * __cdecl operator new(unsigned int) und
   void * __cdecl operator new[](unsigned int)

definiert sind, die bereits in der Bibliothek libcpmt.lib enthalten
sind.

Du mußt dich also für eine der beiden Bibliotheken entscheiden und nicht 
einfach beide einbauen.

Autor: tool (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry bin nicht so fit in dem ganzen. Ich hab alles mögliche schon 
durchsucht ohne Erfolg. Wa exakt kann ich unter "Microsoft Visual 
Studio.NET 2003" die Einstellungen vornehmen?

Autor: Uhu Uhuhu (uhu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
tool wrote:
> Wa exakt kann ich unter "Microsoft Visual Studio.NET 2003" die
> Einstellungen vornehmen?

Leider kann ich dir das nur so ungefähr sagen, weil ich kein 2003 
greifbar habe:

Unter Projekteigenschaften | Linker | Input | Additional Dependencies 
sind die zusätzlichen Bibliotheken aufgelistet, gegen die das Projekt 
gebunden werden soll.

Aus deiner ersten Fehlermeldung ziehe ich den Schluß, daß du ein Projekt 
compilieren willst, das mit einer Vorgängerversion von 2003 entwickelt 
wurde. Da können Inkompatibilitäten auftreten, deren Lösung selbst für 
Experten nicht eben das reine Vergnügen ist.

Bist wenigstens sicher, daß das Projekt für .NET entwickelt wurde?

Autor: tool (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Hilfe! Ich konnte | Input | Additional Dependencies | 
nicht bei mir finden. Ich weiss nicht was ich da noch tun kann. So ein 
Bullshit!

Autor: Uhu Uhuhu (uhu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du im 'Solution Explorer' - ich hoffe, der heißt bei 2003 auch so - 
auf der zweiten Ebene rechtsgeklickt?

Autor: tool (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Den kann ich auch nicht finden!

Autor: Uhu Uhuhu (uhu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Siehst du irgendwo eine Baumdarstellung deines Projektes?

Gibt es im Menü unter 'View' einen Eintrag 'Solution Explorer'?

Autor: Andreas Watterott (andreasw) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei der deutschen Version von VisualStudio heißt der "Solution Explorer" 
auch "Projektmappen-Explorer"...

Autor: tool (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also den Baum sehe ich. Kann aber die Einstellung für den Linker nicht 
finden. bzw. was soll man da genau verändern?

Autor: tool (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bis jetzt hab ichs noch nicht hinbekommen. Ich konnte die genannten 
Einstellungen nicht finden.

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmmm? Project -> Options -> Linker....was ist da so schwer dran?

Aber dein Problem wird woanders liegen. Ich denke mal, das Programm 
stammt von VS 6.0 oder sowas. Irgendwie ist der new-Operator jetzt 
anders definiert. Da scheinen irgendwelche alten Header includiert zu 
sein....oder irgendwo ist explizit eine alte lib gelinkt. Lässt sich 
ohne das komplette Projekt nicht ohne Weiteres sagen.

Autor: Uhu Uhuhu (uhu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Christian R. wrote:
> Irgendwie ist der new-Operator jetzt
> anders definiert. Da scheinen irgendwelche alten Header includiert zu
> sein....oder irgendwo ist explizit eine alte lib gelinkt.

Nein, das hat mit Sicherheit nichts mit Headerfiles zu tun.

> Lässt sich ohne das komplette Projekt nicht ohne Weiteres sagen.

Da hast du wohl recht. Ich würde empfehlen, ein neues Projekt zu 
erzeugen und die Quelldateien dort hinein zu übernehmen und dann so 
lange feintunen, bis es sich übersetzen und binden läßt.

Ohne Ahnung von VS 2003 und dem Projekt dürfte das allerdings auch kein 
Zuckerschlecken werden...

Die einfachste Lösung: Benutze die VC-Version, mit der das Projekt 
zuletzt entwickelt wurde.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.