Undefinierter Verweis auf statische Variable: Linkfehler beheben
Beim Kompilieren von C-Code kann es beim Verweisen auf a zu einem Fehler „Undefinierte Symbole“ kommen statische Variable, die in einer Header-Datei definiert ist. Dieser Fehler tritt auf, weil der Linker die Definition der statischen Variablen während der Verknüpfung nicht finden kann.
Im bereitgestellten Beispiel deklariert die Header-Datei Log.h ein statisches String-Mitglied theString. Die Definition dieser statischen Variablen fehlt jedoch in der Datei Log.cpp. Um dieses Problem zu beheben, führen Sie die folgenden Schritte aus:
Definieren Sie die statische Variable in der CPP-Datei:
#include "Log.h" #include <iostream> // Define the static variable here string Log::theString; void Log::method(string arg) { theString = "hola"; cout << theString << endl; }
Unnötige Namespace-Deklaration entfernen:
Durch diese Änderungen kann der Linker die Definition der statischen Variablen während der Verknüpfung finden und das Problem auflösen Fehler „Undefinierte Symbole“.
Das obige ist der detaillierte Inhalt vonWarum erhält mein C-Code einen Linkerfehler „Undefinierter Verweis auf statische Variable'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!