Boost chrono run_timer未定义引用
Boost chrono run_timer undefined reference
我试图在boost发行版(1.47.0)中编译run_timer_example.cpp示例,我使用英特尔编译器获得此:
$ icc -I/usr/local/include -L/usr/local/lib -lboost_system -lboost_chrono run_timer_example.cpp
/tmp/iccUIv4Av.o: In function `main':
run_timer_example.cpp:(.text+0x33): undefined reference to `boost::chrono::run_timer::run_timer(boost::system::error_code&)'
run_timer_example.cpp:(.text+0xa5): undefined reference to `boost::chrono::run_timer::report(boost::system::error_code&)'
和使用GNU:
$ g++ run_timer_example.cpp -I/usr/local/include -L/usr/local/lib -lboost_system -lboost_chrono
/tmp/cc3ZOLLF.o: In function `main':
run_timer_example.cpp:(.text+0x16): undefined reference to `boost::chrono::run_timer::run_timer(boost::system::error_code&)'
/tmp/cc3ZOLLF.o: In function `boost::chrono::run_timer::~run_timer()':
run_timer_example.cpp:(.text._ZN5boost6chrono9run_timerD2Ev[_ZN5boost6chrono9run_timerD5Ev]+0x3b): undefined reference to `boost::chrono::run_timer::report(boost::system::error_code&)'
collect2: ld returned 1 exit status
我错过了什么?
编辑:最后我放弃了。似乎我安装的Ubuntu无法正确编译Boost 1.47.0,因此我无法使用它。耻辱。这个例子在评审之前就已经存在了,并且使用了一些不属于评审的Chrono库的接口。我忘了把它去掉。完成于1.48年。
抱歉打扰了
尝试颠倒链接顺序。
$ icc run_timer_example.cpp -I/usr/local/include -L/usr/local/lib -lboost_filesystem -lboost_chrono
我不确定icc
是如何做到的,我甚至不确定GCC是如何与-l
一起做到的,但我模糊地记得,在某些情况下,链接只有在命令行上链接库之前的对象中使用符号时才会将符号带入可执行文件。
您还需要链接到Boost.System
。
$ icc -I/usr/local/include -L/usr/local/lib -lboost_system -lboost_filesystem -lboost_chrono run_timer_example.cpp
更多信息请参考手册:
除了链接与Boost。Chrono库还需要与Boost链接。系统库。一旦提升。System将被配置为一个头文件,只使用boostrongystem_inline,你不需要链接它。
相关文章:
- 对C宏的未定义引用,但在定义它时会出现重新定义错误
- 编译时的 CImg 库返回对"__imp_SetDIBitsToDevice"的未定义引用
- 对Py_Initialize()的未定义引用
- 使用mysql c++连接器的未定义引用
- 对 Scalar ::Scalar() 的未定义引用
- 对复制 CTOR 和 CTOR 的未定义引用
- 对显式实例化的模板函数的未定义引用
- TensorRT (C++ API) 对"createNvOnnxParser_INTERNAL"的未定义引用
- 2个模板化类的非模板友元函数未定义引用错误
- 编译 libfluid 样本控制器时对"event_base_del_virtual"的未定义引用
- 获取对function_name的未定义引用
- 对 'std::thread::_M_start_thread CMake 的未定义引用进行基准测试
- 对结构方法的未定义引用
- 使用内联函数 c++ 的未定义引用
- 对 CMake 中'cudaRegisterLinkedBinary'链接错误的未定义引用?
- 对 DLOPEN 的未定义引用
- QT C++中对全局变量的未定义引用
- 快速数学导致对"__pow_finite"的未定义引用
- 对 boost::system::d etail::system_category_instance 的未定义引用,从
- OpenCV 3.4.3 中对 'cv::String::d eallocate()' 错误的未定义引用