Компиляция программы с библиотекой boost.asio - PullRequest
2 голосов
/ 20 апреля 2011

Я установил все библиотеки повышения, но при компиляции g++ sda.cpp -lboost_system -lboost_date_time -lboost_regex -lboost_thread -lboost_serialization

#include <boost/asio.hpp>

int main()
{
    return 0;
}

Я получил несколько ошибок, и компиляция не удалась. Я использую Ubuntu 10.10 в курсе. Компилятор говорит:

/tmp/cc6bld0N.o: In function `__static_initialization_and_destruction_0(int, int)':
sda.cpp:(.text+0x52): undefined reference to `boost::system::generic_category()'
sda.cpp:(.text+0x5e): undefined reference to `boost::system::generic_category()'
sda.cpp:(.text+0x6a): undefined reference to `boost::system::system_category()'
/tmp/cc6bld0N.o: In function `boost::asio::error::get_system_category()':
sda.cpp:(.text._ZN5boost4asio5error19get_system_categoryEv[boost::asio::error::get_system_category()]+0x5): undefined reference to `boost::system::system_category()'
collect2: ld returned 1 exit status

В чем проблема?

Ответы [ 2 ]

1 голос
/ 20 апреля 2011

Скорее всего, ваша проблема, но вам не нужно связываться с boost_date_time или boost_regex или boost_serialization или boost_thread.

samm$ cat asio.cc
#include <boost/asio.hpp>

int main()
{
    return 0;
}
samm$ g++ asio.cc  -I /opt/local/include/ -L/opt/local/lib -lboost_system -Wl,-rpath,/opt/local/lib
samm$ 
0 голосов
/ 20 апреля 2011

IIRC, Ubuntu имеет пакет * -dev для разработки. Вы уверены, что вы установили libboost-dev вместо libboost?

...