Heim >Backend-Entwicklung >C++ >Wie behebe ich den Verknüpfungsfehler „undefinierter Verweis auf boost::system::system_category()' unter Ubuntu?

Wie behebe ich den Verknüpfungsfehler „undefinierter Verweis auf boost::system::system_category()' unter Ubuntu?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-11 02:00:02527Durchsuche

How to Fix

Verknüpfungsfehler: undefinierter Verweis auf boost::system::system_category()

Beim Versuch, ein Programm mit Boost-Bibliotheken unter Ubuntu zu kompilieren 11.10 kann es zu einer Fehlermeldung „undefinierter Verweis auf boost::system::system_category()“ kommen. Dies weist auf ein Problem beim Verknüpfen des Programms mit der Boost-Bibliothek hin.

Lösung:

Der Fehler tritt auf, weil das Programm von der Systemkomponente der Boost-Bibliothek, boost_system, abhängt. Um das Problem zu beheben, fügen Sie die Linker-Option -lboost_system zur Compiler-Befehlszeile hinzu. Dies weist den Compiler an, eine Verknüpfung mit der Bibliothek „boost_system“ herzustellen.

Wenn Ihr ursprünglicher Compiler-Befehl beispielsweise lautet:

gcc -o my_program my_program.cpp

Ändern Sie ihn so, dass er die Linker-Option enthält:

gcc -o my_program my_program.cpp -lboost_system

Durch Hinzufügen dieser Option findet und verknüpft der Compiler die erforderliche boost_system-Bibliothek, wodurch der undefinierte Referenzfehler behoben wird.

Das obige ist der detaillierte Inhalt vonWie behebe ich den Verknüpfungsfehler „undefinierter Verweis auf boost::system::system_category()' unter Ubuntu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn