2012-05-12 40 views
9

Intento compilar un pequeño archivo .cpp con la biblioteca de impulso en el servidor remoto en Debian usando g ++ 4.4. Yo uso Netbeans para este propósito. Máquina de mi casa es en Windows 7. Después de resolver algunos problemas con la vinculación de código siguienteReferencia no definida para boost :: timer :: auto_cpu_timer

#include <boost/timer/timer.hpp> 
#include <iostream> 
#include <string> 

int main() 
{ 
    boost::timer::auto_cpu_timer ac; //line 5 
    return 0; //line 6 
} 

Produce 2 errores:
línea 5: undefined reference to boost::timer::auto_cpu_timer::auto_cpu_timer(short)'
línea 6: undefined reference to boost::timer::auto_cpu_timer::~auto_cpu_timer()'

mismo resultado si uso cabecera boost/thread.hpp pero para thread constructor/destructor. Pero por ejemplo boost/shared_ptr compila sin ningún problema. mandato de compilación resultado en neatbeans es

g++ -m64 -I/usr/include/boost/boost_1_49_0 -lboost_system -o dist/Debug/GNU-Linux-x86/test build/Debug/GNU-Linux-x86/main.o 
-L/usr/include/boost/boost_1_49_0/stage/lib -Wl,-rpath /usr/include/boost/boost_1_49_0/stage/lib build/Debug/GNU-Linux-x86/main.o 

lo que me perdí?

Respuesta

15

Es necesario que establezca un enlace contra boost_timer. Agregue -lboost_timer a la línea de comando gcc. Consulte la documentación de Netbeans sobre cómo agregar bibliotecas a un proyecto.

+1

Gracias, realmente extrañé eso. –

+0

es posible que también necesite -lboost_system (consulte https://stackoverflow.com/q/41980440/) – ricab

Cuestiones relacionadas