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
boost中g++ 链接undefined reference to `boost::system::generic_category()问题的更多相关文章
- 【错误】undefined reference to `boost::....的解决
很多新手引用Boost库编程,在ubuntu下编译时候有时候会出现如下错误: test04.cpp:(.text+0x2c): undefined reference to `boost::progr ...
- 「caffe编译bug」 undefined reference to `boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::__cxx11
CXX/LD -o .build_release/tools/test_net.binCXX/LD -o .build_release/tools/convert_annoset.binCXX/LD ...
- g++ 出现 undefined reference to ......
g++ 出现 undefined reference to ...... 检查/usr/local/lib /usr/lib 发现已经存在相应的库文件 那么,问题可能出现在g++链接次序上,即先链接 ...
- undefined reference to “boost” in Qt—Ubuntu
一:使用PCL时遇到的问题 原因:缺少boost的lib包含: 在Pro文件里面添加: LIBS += -lboost_system .....................等库文件包含 二:编译B ...
- 编译中出现的undefined reference to XXX
主要是在链接时发现找不到某个函数的实现文件.可以查找是否在makefile里没有增加待编译的.c文件,或者静态库没有引用
- g++ 链接静态库命令应该放在最后
昨天编译去年写的FloorServer,居然一堆错误: chu@chu-laptop:/media/E/work/github/FloorServer/FloorServer$ makeg++ -g ...
- Boost的自动链接功能
Boost是一个强大的C++第三方库,但是Boost的各种问题实在是很让人蛋疼.我搜到过一篇文章关于LuaBind使用Boost Build管理工具来管理源代码以及编译的博文,其第一句话就是Fuck ...
- Linux下undefined reference to ‘pthread_create’问题解决 zz
接触了Linux系统编程中的线程编程模块,可gcc sample.c(习惯把书上的sample代码写进sample.c文件中)出现“undefined reference to ‘pthread_cr ...
- boost.numpy编译报错:undefined reference to `PyInt_FromLong' libboost_numpy.so: undefined reference to `PyCObject_AsVoidPtr'
[ 31%] Built target boost_numpy[ 36%] Building CXX object libs/numpy/example/CMakeFiles/dtype.dir/dt ...
随机推荐
- python爬取数据分析
一.python爬虫使用的模块 1.import requests 2.from bs4 import BeautifulSoup 3.pandas 数据分析高级接口模块 二. 爬取数据在第一个请求中 ...
- win2008r2 32位odbc安装笔记
这ORACLE也太难用了,想简单点了事只用个ODBC CLIENT都是件麻烦事,总结了一下,安装流程如下: 1.去官网或其它地方下载: 64位: instantclient-basic-windows ...
- SQL进阶系列之11让SQL飞起来
写在前面 SQL的性能优化是数据库使用者必须面对的重要问题,本节侧重SQL写法上的优化,SQL的性能同时还受到具体数据库的功能特点影响,这些不在本节讨论范围之内 使用高效的查询 参数是子查询时,使用E ...
- Android Handler机制彻底梳理
Android的消息机制其实也就是Handler相关的机制,对于它的使用应该熟之又熟了,而对于它的机制的描述在网上也一大堆[比如15年那会在网上抄了一篇https://www.cnblogs.com/ ...
- C#使用ODP.NET(Oracle.ManagedDataAccess.dll)操作Oracle数据库
在刚接触C#的时候由于公司使用的就是Oracle数据库,那么C#怎么连接Oracle数据库就成了首要去掌握的知识点了.在那时没有ODP.NET,但visual studio却对Oralce数据库的调用 ...
- 编程小白入门分享五:Vue的自定义组件
前言 上篇博客简单介绍了vue,本篇博客要在对vue有一定了解后,才可以比较容易理解自定义组件.想要封装好一个组件,一定要熟练掌握这三个技能,父组件 -> 子组件传值(props).子组件 -& ...
- Python开发AI应用-国际象棋应用
AI 部分总述 AI在做出决策前经过三个不同的步骤.首先,他找到所有规则允许的棋步(通常在开局时会有20-30种,随后会降低到几种).其次,它生成一个棋步树用来随后决定最佳决策.虽然树的大小随 ...
- 当调用对象中不存的方法、属性时,__getattr__的应用场景
一.Python中创建类和实例的调用顺序 new(cls) 创建对象前调用,如果类中没定义,会一直向父类找,直到object的 new 方法创建类.cls代表类本身 init(self) 创建类实例后 ...
- Optimal Marks SPOJ - OPTM(最小割)
传送门 论文<最小割模型在信息学竞赛中的应用>原题 二进制不同位上互不影响,那么就按位跑网络流 每一位上,确定的点值为1的与S连一条容量为INF的有向边.为0的与T连一条容量为INF的有向 ...
- gin内置验证器使用
gin内置验证器使用 func TopicUrl(f1 validator.FieldLevel) bool { return true //返回true表示验证成功 } func main(){ r ...