• boost中g++ 链接undefined reference to `boost::system::generic_category()问题


    编译错误如下:

    g++ -std=c++11  tcp_session.cpp tcp_server.cpp test.cpp -o test -pthread
    /tmp/ccv4rZkD.o: In function `__static_initialization_and_destruction_0(int, int)':
    tcp_session.cpp:(.text+0x670): undefined reference to `boost::system::generic_category()'
    tcp_session.cpp:(.text+0x67c): undefined reference to `boost::system::generic_category()'
    tcp_session.cpp:(.text+0x688): undefined reference to `boost::system::system_category()'
    /tmp/ccv4rZkD.o: In function `boost::system::error_code::error_code()':
    tcp_session.cpp:(.text._ZN5boost6system10error_codeC2Ev[_ZN5boost6system10error_codeC5Ev]+0x17): undefined reference to `boost::system::system_category()'
    /tmp/ccv4rZkD.o: In function `boost::asio::error::get_system_category()':
    tcp_session.cpp:(.text._ZN5boost4asio5error19get_system_categoryEv[_ZN5boost4asio5error19get_system_categoryEv]+0x5): undefined reference to `boost::system::system_category()'
    /tmp/cctVI799.o: In function `tcp_server::start_accept()':
    tcp_server.cpp:(.text+0x18e): undefined reference to `tcp_session::socket()'
    /tmp/cctVI799.o: In function `__static_initialization_and_destruction_0(int, int)':
    tcp_server.cpp:(.text+0x2fc): undefined reference to `boost::system::generic_category()'
    tcp_server.cpp:(.text+0x308): undefined reference to `boost::system::generic_category()'
    tcp_server.cpp:(.text+0x314): undefined reference to `boost::system::system_category()'
    /tmp/cctVI799.o: In function `boost::thread_exception::thread_exception(int, char const*)':
    tcp_server.cpp:(.text._ZN5boost16thread_exceptionC2EiPKc[_ZN5boost16thread_exceptionC5EiPKc]+0x23): undefined reference to `boost::system::system_category()'
    /tmp/cctVI799.o: In function `boost::condition_error::condition_error(int, char const*)':

    添加链接库  -lboost_system, 问题解决。

    若还有其他查找不到的,可以去安装路径,查找相应的库文件,编译时加载。

    eg:

    /home/program/boost_1_67_0$ find . -name *.so
    ./stage/lib/libboost_log_setup.so
    ./stage/lib/libboost_chrono.so
    ./stage/lib/libboost_numpy27.so
    ./stage/lib/libboost_coroutine.so
    ./stage/lib/libboost_atomic.so
    ./stage/lib/libboost_type_erasure.so
    ./stage/lib/libboost_serialization.so
    ./stage/lib/libboost_math_c99f.so
    ./stage/lib/libboost_regex.so
    ./stage/lib/libboost_container.so
    ./stage/lib/libboost_filesystem.so
    ./stage/lib/libboost_thread.so
    ./stage/lib/libboost_math_tr1l.so
    ./stage/lib/libboost_random.so
    ./stage/lib/libboost_program_options.so
    ./stage/lib/libboost_signals.so
    ./stage/lib/libboost_locale.so
    ./stage/lib/libboost_unit_test_framework.so
    ./stage/lib/libboost_wave.so
    ./stage/lib/libboost_stacktrace_backtrace.so
    ./stage/lib/libboost_date_time.so
    ./stage/lib/libboost_iostreams.so
    ./stage/lib/libboost_stacktrace_addr2line.so
    ./stage/lib/libboost_log.so
    ./stage/lib/libboost_stacktrace_noop.so
    ./stage/lib/libboost_math_c99.so
    ./stage/lib/libboost_prg_exec_monitor.so
    ./stage/lib/libboost_math_c99l.so
    ./stage/lib/libboost_graph.so
    ./stage/lib/libboost_timer.so
    ./stage/lib/libboost_stacktrace_basic.so
    ./stage/lib/libboost_python27.so
    ./stage/lib/libboost_context.so
    ./stage/lib/libboost_math_tr1f.so
    ./stage/lib/libboost_math_tr1.so
    ./stage/lib/libboost_system.so
    ./stage/lib/libboost_wserialization.so
    ./stage/lib/libboost_contract.so

    例如,线程相关,  -lboost_thread

  • 相关阅读:
    Cannot find the class file for java.lang.Object错误
    JAVA 基础 八种数据类型
    获取转发前的uri与jsp:include的uri
    web 应用获取mybatis sqlSessionFactory 扫描保存的的sqlMapper
    Spring MVC 3 试用笔记——helloworld
    Struts2 Plugin 试用笔记
    JavaScript面试题(评解为原创)
    DataSet的Table筛选多条件情况用法
    每日一帖,记录技术点滴
    行内元素和块级元素的区别
  • 原文地址:https://www.cnblogs.com/rohens-hbg/p/11837629.html
Copyright © 2020-2023  润新知