未定义对符号“_ZN5boost6system15system_categoryEv”的引用错误
undefined reference to symbol '_ZN5boost6system15system_categoryEv' error
我是 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====
我在询问之前在 Whosebug
上搜索过,大部分答案只是指向在项目设置中正确链接库,我已经做到了,正如上面的代码所示,但仍然不断出现错误我不知道我错过了什么??
一点帮助将不胜感激...
谢谢
/usr/lib/libboost_system.so.1.60.0: error adding symbols: DSO missing from command line
此 DSO 错误表示命令行中缺少 libboost_system。
您还应该添加:
-lboost_system
你的命令行就像 -lcpprest
如果您以错误的顺序引用库,就会发生这种情况。我有一个依赖于 -lboost_system 的个人库,但我在 boost 库之后列出了我自己的库,但出现此错误。我将我的个人图书馆移到了列表的前面,错误消失了。
我是 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====
我在询问之前在 Whosebug
上搜索过,大部分答案只是指向在项目设置中正确链接库,我已经做到了,正如上面的代码所示,但仍然不断出现错误我不知道我错过了什么??
一点帮助将不胜感激... 谢谢
/usr/lib/libboost_system.so.1.60.0: error adding symbols: DSO missing from command line
此 DSO 错误表示命令行中缺少 libboost_system。 您还应该添加:
-lboost_system
你的命令行就像 -lcpprest
如果您以错误的顺序引用库,就会发生这种情况。我有一个依赖于 -lboost_system 的个人库,但我在 boost 库之后列出了我自己的库,但出现此错误。我将我的个人图书馆移到了列表的前面,错误消失了。