构建Boost_1_55_0的示例异步TCP日间服务器

时间:2014-04-06 23:42:40

标签: c++ sockets boost tcp

我正在尝试构建Boost在此链接上找到的异步TCP日间服务器的示例: http://www.boost.org/doc/libs/1_55_0/doc/html/boost_asio/tutorial/tutdaytime3/src.html

这里我试图用以下方法构建示例:

g++ -o server server.cpp -I ~/boost/include -L~/boost/lib -lboost_system

以下是我遇到的错误:

 g++ -o server server.cpp -I ~/boost/include -L~/boost/lib -lboost_system
/tmp/ccF38gvh.o: In function `__static_initialization_and_destruction_0(int, int)':
server.cpp:(.text+0x221): undefined reference to `boost::system::generic_category()'
server.cpp:(.text+0x22d): undefined reference to `boost::system::generic_category()'
server.cpp:(.text+0x239): undefined reference to `boost::system::system_category()'
/tmp/ccF38gvh.o: In function `boost::system::error_code::error_code()':
server.cpp:(.text._ZN5boost6system10error_codeC2Ev[_ZN5boost6system10error_codeC5Ev]+0x17): undefined reference to `boost::system::system_category()'
/tmp/ccF38gvh.o: In function `boost::asio::error::get_system_category()':
server.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
make: *** [all] Error 1

我需要添加什么才能成功构建它?

1 个答案:

答案 0 :(得分:2)

我非常确定您的命令行不同。

特别是,你是否有列出/后/ libs的来源?

Specificly

g++ -o server -I "$HOME/boost/include" -L"$HOME/boost/lib" -lboost_system server.cpp 

工作,

g++ -o server server.cpp -I "$HOME/boost/include" -L"$HOME/boost/lib" -lboost_system

应该有用。

除此之外,另见c++ files to include for boost : asio。教程的jam-file使用-lboost_system -lboost_thread -DBOOST_ALL_NO_LIB=1构建所有内容(这可能是过度杀伤)

更新还找到了此How to compile boost async_client.cpp