Jef*_*eff 5 c++ ubuntu boost-asio
我已经完成了一些boost和它拥有的库的教程.
我浏览了基本的boost教程:
http://www.boost.org/doc/libs/1_52_0/more/getting_started/unix-variants.html
Run Code Online (Sandbox Code Playgroud)
它工作得很好.我遇到了asio教程的问题:
http://www.boost.org/doc/libs/1_50_0/doc/html/boost_asio/tutorial/tutdaytime1/src.html
Run Code Online (Sandbox Code Playgroud)
它看起来像链接错误,但我包含与以前相同的路径:
g++ -I /usr/local/boost_1_52_0 test.cpp -o example
Run Code Online (Sandbox Code Playgroud)
错误:
/tmp/cce4EZME.o: In function `__static_initialization_and_destruction_0(int, int)':
test.cpp:(.text+0x57b): undefined reference to `boost::system::generic_category()'
test.cpp:(.text+0x587): undefined reference to `boost::system::generic_category()'
test.cpp:(.text+0x593): undefined reference to `boost::system::system_category()'
/tmp/cce4EZME.o: In function `boost::system::error_code::error_code()':
test.cpp:(.text._ZN5boost6system10error_codeC2Ev[_ZN5boost6system10error_codeC5Ev]+0x17): undefined reference to `boost::system::system_category()'
/tmp/cce4EZME.o: In function `boost::asio::error::get_system_category()':
test.cpp:(.text._ZN5boost4asio5error19get_system_categoryEv[_ZN5boost4asio5error19get_system_categoryEv]+0x5): undefined reference to `boost::system::system_category()'
/tmp/cce4EZME.o: In function `boost::asio::detail::posix_thread::~posix_thread()':
test.cpp:(.text._ZN5boost4asio6detail12posix_threadD2Ev[_ZN5boost4asio6detail12posix_threadD5Ev]+0x26): undefined reference to `pthread_detach'
/tmp/cce4EZME.o: In function `boost::asio::detail::posix_thread::join()':
test.cpp:(.text._ZN5boost4asio6detail12posix_thread4joinEv[_ZN5boost4asio6detail12posix_thread4joinEv]+0x2b): undefined reference to `pthread_join'
/tmp/cce4EZME.o: In function `boost::asio::detail::posix_thread::start_thread(boost::asio::detail::posix_thread::func_base*)':
test.cpp:(.text._ZN5boost4asio6detail12posix_thread12start_threadEPNS2_9func_baseE[_ZN5boost4asio6detail12posix_thread12start_threadEPNS2_9func_baseE]+0x29): undefined reference to `pthread_create'
collect2: error: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)
Bar*_*uda 12
假设您已在/usr/lib目录中安装了boost库并提升了头文件,/usr/include/boost并且已将代码保存在名为的文件中daytime1.cpp,则必须使用以下命令编译已链接到的源代码:
$ g++ daytime1.cpp -o daytime -L /usr/lib/ -lboost_system -lboost_thread -lpthread
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4416 次 |
| 最近记录: |