未定义的符号引用' _ZN5boost6system15system_categoryEv'错误

时间:2016-07-29 05:17:42

标签: c++ linux rest codelite casablanca

我是新来的c ++ rest sdk Casablanca并在 Codelite ide 中使用它。
Operating System Arch Linux
gcc version 6.1.1
构建代码时,我在调试模式下出现以下错误:

/bin/sh -c '/usr/bin/make -j4 -e -f  Makefile'
----------Building project:[ Casa - Debug ]----------
make[1]: Entering directory '/home/vinci/Documents/CPP_Projects_Programs/Casa'
/usr/bin/g++  -c  "/home/vinci/Documents/CPP_Projects_Programs/Casa/main.cpp" -g -O0 -fopenmp -std=c++14 -std=c++11 -Wall  -o ./Debug/main.cpp.o -I. -I/usr/local/include/cpprest -I/usr/local/include/pplx -I/home/vinci/casablanca/Release/src -I. -I/usr/local/include/cpprest -I/usr/local/include/pplx
/usr/bin/g++ -o ./Debug/Casa @"Casa.txt" -L. -L/usr/local/lib -L/usr/lib64 -L/usr/lib  -lcpprest
/usr/bin/ld: ./Debug/main.cpp.o: undefined reference to symbol '_ZN5boost6system15system_categoryEv'
/usr/lib/libboost_system.so.1.60.0: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[1]: *** [Casa.mk:79: Debug/Casa] Error 1
make[1]: Leaving directory '/home/vinci/Documents/CPP_Projects_Programs/Casa'
make: *** [Makefile:5: All] Error 2
====1 errors, 0 warnings, total time: 00:00:14 seconds====

我在询问之前在Stackoverflow上搜索了这个问题,并且大部分答案只是指出在项目设置中正确链接库并且我已经完成了,因为可以在上面的代码中看到但是仍然不断给出错误而我不知道我错过了什么?

一点帮助将不胜感激...... 谢谢

2 个答案:

答案 0 :(得分:14)

/usr/lib/libboost_system.so.1.60.0: error adding symbols: DSO missing from command line

此DSO错误表示命令行中缺少libboost_system。 你还应该添加:

-lboost_system

到你的命令行就像-lcpprest

答案 1 :(得分:0)

如果您以错误的顺序引用库,就会发生这种情况。我有一个依赖于 -lboost_system 的个人库,但是我在 boost 库之后列出了我自己的库,并且出现了这个错误。我将我的个人图书馆移到列表的前面,错误消失了。