Fehler: undefinierter Verweis auf boost::system::system_category() beim Kompilieren
Beim Versuch, ein Programm zu kompilieren, das Boost-Bibliotheken verwendet Unter Ubuntu 11.10 kann der folgende Fehler auftreten:
undefined reference to boost::system::system_category()
Root Ursache:
Der Fehler ergibt sich aus der Abhängigkeit der spezifischen Bibliothek, die von der boost_system-Bibliothek verwendet wird, die nicht automatisch in den Kompilierungsprozess einbezogen wird.
Lösung:
Zu Um dieses Problem zu beheben, müssen Sie die Bibliothek boost_system explizit in der Kompilierungsbefehlszeile angeben. Angenommen, Sie verwenden gcc, ändern Sie die Befehlszeile, um das Flag -lboost_system hinzuzufügen. Dadurch wird der Compiler angewiesen, eine Verknüpfung mit der Bibliothek „boost_system“ herzustellen und so die erforderlichen Abhängigkeiten verfügbar zu machen.
Beispiel:
gcc -lboost_system ... <other compiler flags> ...
Durch die Einbindung dieser Änderung stellen Sie sicher, dass der Compiler Zugriff auf die erforderlichen Symbole hat aus der Bibliothek boost_system, wodurch der Verknüpfungsfehler behoben und eine erfolgreiche Kompilierung ermöglicht wird.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich beim Kompilieren „undefinierte Referenz auf boost::system::system_category()'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!