2012-05-12 2 views
9

Я пытаюсь скомпилировать небольшой .cpp-файл с помощью библиотеки boost на удаленном сервере на Debian, используя g ++ 4.4. Для этой цели я использую Netbeans. Мой домашний компьютер на Windows 7. После решения некоторых проблем с привязкой следующего кодаНеопределенная ссылка на 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 
} 

Производит 2 ошибки:
строки 5: undefined reference to boost::timer::auto_cpu_timer::auto_cpu_timer(short)'
линия 6: undefined reference to boost::timer::auto_cpu_timer::~auto_cpu_timer()'

Тот же результат, если я использую заголовок boost/thread.hpp но для конструктора/деструктора потока. Но, например, boost/shared_ptr компилируется без проблем. Результат команды компиляции в neatbeans является

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 

Что я пропустил?

ответ

15

Вам необходимо установить ссылку на boost_timer. Добавьте -lboost_timer в командную строку gcc. Обратитесь к документации Netbeans о том, как добавить библиотеки в проект.

+1

Спасибо, я действительно пропустил это. –

+0

вам также может понадобиться -lboost_system (см. Https://stackoverflow.com/q/41980440/) – ricab