【问题标题】:undefined reference to `boost::system::system_category()对`boost::system::system_category() 的未定义引用
【发布时间】:2015-04-09 06:16:52
【问题描述】:

我正在尝试在我的项目中加入 boost。 它给了我错误

server.cpp:(.text+0x200): 未定义的引用 `boost::system::generic_category()'

server.cpp:(.text+0x20a): undefined reference to `boost::system::system_category()'

我已链接libboost_system

g++44 -I/include /lib/libboost_chrono.a /lib/libboost_date_time.a \
/lib/libboost_exception.a /lib/libboost_filesystem.a /lib/libboost_graph.a \
/lib/libboost_iostreams.a /lib/libboost_locale.a /lib/libboost_math_c99.a \
/lib/libboost_math_c99f.a /lib/libboost_math_c99l.a /lib/libboost_math_tr1.a \
/lib/libboost_math_tr1f.a /lib/libboost_math_tr1l.a /lib/libboost_program_options.a \
/lib/libboost_python.a /lib/libboost_random.a /lib/libboost_regex.a \
/lib/libboost_serialization.a /lib/libboost_signals.a /lib/libboost_system.a \
/lib/libboost_thread.a /lib/libboost_timer.a /lib/libboost_wave.a \
/lib/libboost_wserialization.a \
-m32 -lrt server.cpp -o server.exe

【问题讨论】:

  • 检查库的顺序...或者只显示编译/链接命令...

标签: unix boost


【解决方案1】:

错误是您没有在库之前指定源代码:

g++44 -I/include -m32 -lrt server.cpp -o server.exe /lib/libboost_chrono.a /lib/libboost_date_time.a \
/lib/libboost_exception.a /lib/libboost_filesystem.a /lib/libboost_graph.a \
/lib/libboost_iostreams.a /lib/libboost_locale.a /lib/libboost_math_c99.a \
/lib/libboost_math_c99f.a /lib/libboost_math_c99l.a /lib/libboost_math_tr1.a \
/lib/libboost_math_tr1f.a /lib/libboost_math_tr1l.a /lib/libboost_program_options.a \
/lib/libboost_python.a /lib/libboost_random.a /lib/libboost_regex.a \
/lib/libboost_serialization.a /lib/libboost_signals.a /lib/libboost_system.a \
/lib/libboost_thread.a /lib/libboost_timer.a /lib/libboost_wave.a \
/lib/libboost_wserialization.a

此外,很可能没有理由将所有希望存在的 boost 库存档链接起来

【讨论】:

  • 干杯 :) 下次搜索 c++-faq 并尝试在您的问题中包含相关信息!
猜你喜欢
  • 2017-02-25
  • 2013-10-19
  • 1970-01-01
  • 2012-06-30
  • 2021-03-30
  • 1970-01-01
  • 2019-07-05
  • 2016-05-26
  • 2012-11-08
相关资源
最近更新 更多