Von dem, was ich verstehe, wird dieser Fehler durch nicht richtig verwendet Header-Wachen, wenn Sie mehrere Dateien einschließlich der gleichen Datei haben. In meinem Fall ist dies der Baum enthalten ist, die den Fehler verursacht:Funktion bereits in .obj definiert
File A includes Z, which contains the functions I need. File B includes A, and file C includes A.
Ohne #pragma once
‚s, gibt das Programm eine Reihe von Variationen des gleichen Fehlers:
blahblah.obj: error LNK2005: class some::namespace::ObjectType Object already
defined in dialogDlg.obj
ich nur Ich frage mich, angesichts der Include-Struktur, die ich beschrieben habe, was ist der richtige Weg, um dies richtig zu kompilieren?
Ich versuchte mit #pragma once
auf Datei Z, aber das hat nicht funktioniert. Ich habe auch einmal auf Datei A #pragma ausprobiert, was auch nicht funktioniert hat. Endlich habe ich es sowohl auf A als auch auf Z versucht, auch nicht funktioniert.
etwas gibt mir die Idee, die Sie keine separaten Header-Dateien verwenden ?? –