用boost编译程序.asio图书馆

Compiling programme with boost.asio library

本文关键字:图书馆 asio 编译程序 boost      更新时间:2023-10-16

我已经安装了所有的boost库,但是当编译g++ sda.cpp -lboost_system -lboost_date_time -lboost_regex -lboost_thread -lboost_serialization

#include <boost/asio.hpp>
int main()
{
    return 0;
}

i得到几个错误,编译失败。我使用的是最新的ubuntu 10.10。编译器说:

<>之前/tmp/cc6bld0N。0:函数__static_initialization_and_destruction_0(int, int):Sda.cpp:(.text+0x52):对' boost::system::generic_category()'的未定义引用Sda.cpp:(.text+0x5e):对' boost::system::generic_category()'的未定义引用Sda.cpp:(.text+0x6a):对' boost::system::system_category()'的未定义引用/tmp/cc6bld0N。0:在函数' boost::asio::error::get_system_category()'中:sda.cpp:(.text._ZN5boost4asio5error19get_system_categoryEv[boost::asio::error::get_system_category()]+0x5):对' boost::system::system_category()'的未定义引用Collect2: ld返回1退出状态

有什么问题吗?

这可能不是您的问题,但您不应该需要链接到boost_date_timeboost_regexboost_serializationboost_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$ 

IIRC, Ubuntu有*-dev包用于开发。您确定安装的是libboost-dev而不是libboost吗?