GNU/Linux >> Linux Esercitazione >  >> Linux

C++ Boost:riferimento non definito a boost::system::generic_category()

Dovresti collegarti al libboost_system biblioteca. Non sono sicuro dei blocchi di codice, ma l'opzione della riga di comando g++ sulla tua piattaforma sarebbe

-lboost_system


A seconda della versione boost, libboost-system viene fornito con il suffisso -mt che dovrebbe indicare la capacità di multithreading delle librerie.

Quindi se -lboost_system non può essere trovato dal linker try -lboost_system-mt .


È un problema di linker. Includi il percorso della libreria statica nel tuo progetto.

Per Qt Creator apri il file di progetto .pro e aggiungi la seguente riga:

LIBS += -L<path for boost libraries in the system> -lboost_system

Nel mio caso Ubuntu x86_64:

LIBS += -L/usr/lib/x86_64-linux-gnu -lboost_system

Per Codeblocks, apri Settings->Compiler...->Linker scheda delle impostazioni e aggiungi:

boost_system

al widget di testo Collega librerie e premi OK pulsante.


Linux
  1. Migliora la sicurezza del firewall del tuo sistema Linux

  2. Errore Linux c++:riferimento non definito a 'dlopen'

  3. Dove inserisco le librerie di terze parti per configurare un ambiente di sviluppo Linux C++?

  4. C++ Boost ASIO semplice timer periodico?

  5. Libusb riferimento indefinito a

Requisiti di sistema di Kali Linux

Utilizzo di sqrtf() in C:riferimento non definito a `sqrtf'

Valore di ritorno di x =os.system(..)

riferimento non definito al simbolo "[email protetta]@GLIBC_2.4"

riferimento indefinito al simbolo errore '_ZN5boost6system15system_categoryEv'

Installazione di librerie e file di intestazione in Ubuntu Linux per lo sviluppo in C/C++