c++ - ubuntu 中是否有库的默认路径?

标签 c++ linux boost compilation

<分区>

伙计们!

我正在使用 ubuntu 12.04并尝试编译 boost测试程序。我用

安装了 boost
sudo apt-get install libboost-all-dev

所以,我不知道在哪里可以找到我的图书馆。我尝试使用

进行编译
g++ -lboost_system -lboost_thread boost_test.cpp

考虑可能有一些默认路径,ubuntu 会自动安装 boost,但这是错误的,我有以下内容:

/tmp/ccTKXzTR.o: In function __static_initialization_and_destruction_0(int, int)': boost_test.cpp:(.text+0xcc): undefined reference to boost::system::generic_category()' boost_test.cpp:(.text+0xd8): undefined reference to boost::system::generic_category()' boost_test.cpp:(.text+0xe4): undefined reference to boost::system::system_category()' /tmp/ccTKXzTR.o: In function boost::system::error_code::error_code()': boost_test.cpp:(.text._ZN5boost6system10error_codeC2Ev[_ZN5boost6system10error_codeC5Ev]+0x17): undefined reference toboost::system::system_category()' /tmp/ccTKXzTR.o: In function boost::asio::error::get_system_category()': boost_test.cpp:(.text._ZN5boost4asio5error19get_system_categoryEv[_ZN5boost4asio5error19get_system_categoryEv]+0x5): undefined reference toboost::system::system_category()' /tmp/ccTKXzTR.o: In function boost::asio::detail::posix_tss_ptr_create(unsigned int&)': boost_test.cpp:(.text._ZN5boost4asio6detail20posix_tss_ptr_createERj[_ZN5boost4asio6detail20posix_tss_ptr_createERj]+0x19): undefined reference topthread_key_create' /tmp/ccTKXzTR.o: In function boost::asio::detail::posix_tss_ptr<boost::asio::detail::call_stack<boost::asio::detail::task_io_service, boost::asio::detail::task_io_service::thread_info>::context>::~posix_tss_ptr()': boost_test.cpp:(.text._ZN5boost4asio6detail13posix_tss_ptrINS1_10call_stackINS1_15task_io_serviceENS4_11thread_infoEE7contextEED2Ev[_ZN5boost4asio6detail13posix_tss_ptrINS1_10call_stackINS1_15task_io_serviceENS4_11thread_infoEE7contextEED5Ev]+0x15): undefined reference topthread_key_delete' /tmp/ccTKXzTR.o: In function boost::asio::detail::posix_tss_ptr<boost::asio::detail::call_stack<boost::asio::detail::strand_service::strand_impl, unsigned char>::context>::~posix_tss_ptr()': boost_test.cpp:(.text._ZN5boost4asio6detail13posix_tss_ptrINS1_10call_stackINS1_14strand_service11strand_implEhE7contextEED2Ev[_ZN5boost4asio6detail13posix_tss_ptrINS1_10call_stackINS1_14strand_service11strand_implEhE7contextEED5Ev]+0x15): undefined reference topthread_key_delete' collect2: error: ld returned 1 exit status

谁能帮我弄清楚我的库是否安装正确并编译它?

最佳答案

我发现 /usr/include/boost 是 boost header 的路径,而 /usr/lib 包含我想要的所有 boost 库。

关于c++ - ubuntu 中是否有库的默认路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15186441/

相关文章:

linux - 解释 linux 的权威网站或 pdf?

Linux 合并文件

c++ - 编译错误 - boost::numeric::ublas::coordinate_matrix

c++ - 从另一个类调用指向成员函数的指针

c++ - 根据模板参数有条件地定义模板类的构造函数

c++ - 如何在没有 windows.h 宏的情况下声明 OutputDebugStringA?

linux - sed 的奇怪输出

c++ - Objective-C++ 中的 boost::shared_ptr

c++ - mciSendString 不会暂停从线程播放的声音

c++ - 学习 C++ 和过度谨慎