Beheben von GCC-C-Linker-Fehlern: Undefinierte Verweise auf virtuelle Methoden und Konstruktoren
Die während der Kompilierung aufgetretenen Linker-Fehler weisen auf ungelöste Verweise auf virtuelle Methoden und hin Konstrukteure innerhalb des Projekts. Das Fehlen dieser Definitionen deutet darauf hin, dass einige Deklarationen in der Implementierung fehlen.
Bestätigung der Bibliothekskompatibilität
Überprüfung der Bibliotheksbitness:
Bibliotheksinhalt prüfen:
Linker-Fehler beheben
Undefinierte Verweise auf Virtual Methoden:
Undefinierte Verweise auf Konstruktoren:
Beispiel
Bedenken Sie das Code-Snippet:
class Base { public: virtual void f() = 0; }; class Derived : public Base { };
Um den Linker-Fehler zu beheben, gehen Sie wie folgt vor Die Konstruktorimplementierung muss der abgeleiteten Klasse hinzugefügt werden:
Derived::Derived() {}
Zusätzliche Überlegungen
Das obige ist der detaillierte Inhalt vonWarum erhalte ich in meinen GCC-C-Linker-Fehlern undefinierte Verweise auf virtuelle Methoden und Konstruktoren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!