Ошибка при компиляции простого кода в boost. Как найти название библиотеки? - PullRequest
1 голос
/ 30 января 2010

http://www.boost.org/doc/libs/1_38_0/doc/html/boost_asio/example/allocation/server.cpp

   g++ -L./lib/boost_1_41_0/ -L./lib/soci-3.0.0/ -L/usr/lib/ -L/usr/local/lib/ -L./ -I/usr/include -I./lib/boost_1_41_0 -o main server.o -lssl -pthread
    server.o: In function `error_code':
    /test/mycode/./lib/boost_1_41_0/boost/system/error_code.hpp:315: undefined reference to `boost::system::get_system_category()'
    server.o: In function `get_system_category':
    /test/mycode/./lib/boost_1_41_0/boost/asio/error.hpp:218: undefined reference to `boost::system::get_system_category()'
    server.o: In function `error_code':
    /test/mycode/./lib/boost_1_41_0/boost/system/error_code.hpp:315: undefined reference to `boost::system::get_system_category()'
    server.o: In function `__static_initialization_and_destruction_0':
    /test/mycode/./lib/boost_1_41_0/boost/system/error_code.hpp:208: undefined reference to `boost::system::get_system_category()'
    /test/mycode/./lib/boost_1_41_0/boost/system/error_code.hpp:209: undefined reference to `boost::system::get_generic_category()'
    /test/mycode/./lib/boost_1_41_0/boost/system/error_code.hpp:214: undefined reference to `boost::system::get_generic_category()'
    /test/mycode/./lib/boost_1_41_0/boost/system/error_code.hpp:215: undefined reference to `boost::system::get_generic_category()'
    /test/mycode/./lib/boost_1_41_0/boost/system/error_code.hpp:216: undefined reference to `boost::system::get_system_category()'
    server.o: In function `error_code':
    /test/mycode/./lib/boost_1_41_0/boost/system/error_code.hpp:315: undefined reference to `boost::system::get_system_category()'
    server.o: In function `get_system_category':
    /test/mycode/./lib/boost_1_41_0/boost/asio/error.hpp:218: undefined reference to `boost::system::get_system_category()'
    server.o: In function `error_code':
    /test/mycode/./lib/boost_1_41_0/boost/system/error_code.hpp:315: undefined reference to `boost::system::get_system_category()'
    /test/mycode/./lib/boost_1_41_0/boost/system/error_code.hpp:315: undefined reference to `boost::system::get_system_category()'
    server.o:/test/mycode/./lib/boost_1_41_0/boost/asio/error.hpp:218: more undefined references to `boost::system::get_system_category()' follow
    collect2: ld returned 1 exit status
    make: *** [main] Error 1

Как убрать вышеуказанную ошибку

1 Ответ

1 голос
/ 30 января 2010

Вы хотите -lboost_system.

Система сборки Boost собирает несколько вариантов одной библиотеки. Например, потокобезопасная версия этой библиотеки - -lboost_system-mt. Чтобы понять, как названы варианты, см. Документацию Boost .

...