我试图将Boost库包含在我的项目中,并且一直面临着同样的问题。我在使用Codeblocks IDE的Ubuntu 12.10上,尝试手动读取站点上的说明来安装库,但是在头文件以及使用前需要构建的库中出现错误。
Boost
然后,我通过terminalby安装了库sudo apt-get install libboost-all- dev。此后,在我的代码块程序中,可以包含类似的标题,#include <boost/regex.hpp>但是当我尝试包含Filesystem库的标题(#include "boost/filesystem/operations.hpp" )时,出现以下错误:
sudo apt-get install libboost-all- dev
#include <boost/regex.hpp>
#include "boost/filesystem/operations.hpp"
/usr/include/boost/system/error_code.hpp|214|undefined reference to boost::system::generic_category()'|
我不确定如何解决此错误(特别是在Linux上的代码块中)。我真的可以在这里使用一些帮助。
编译器:Gcc 程序代码:仅尝试包含上述文件系统operations.hpp文件。
operations.hpp
从代码块生成日志:
Build started on: 20-11-2012 at 18:02.53 Build ended on: 20-11-2012 at 18:02.54 -------------- Build: Debug in libopenFrameworks --------------- Target is up to date. -------------- Build: Debug in reader1 --------------- make -s -f Makefile Debug linking i686 bin/reader1_debug linux obj/i686Debug/src/testApp.o: In function `__static_initialization_and_destruction_0': /usr/include/boost/system/error_code.hpp:214: undefined reference to `boost::system::generic_category()' /usr/include/boost/system/error_code.hpp:215: undefined reference to `boost::system::generic_category()' /usr/include/boost/system/error_code.hpp:216: undefined reference to `boost::system::system_category()' obj/i686Debug/src/main.o: In function `__static_initialization_and_destruction_0': /usr/include/boost/system/error_code.hpp:214: undefined reference to `boost::system::generic_category()' /usr/include/boost/system/error_code.hpp:215: undefined reference to `boost::system::generic_category()' /usr/include/boost/system/error_code.hpp:216: undefined reference to `boost::system::system_category()' collect2: ld returned 1 exit status make: *** [bin/reader1_debug] Error 1 Process terminated with status 2 (0 minutes, 1 seconds) 6 errors, 0 warnings
您应该在libboost_system库中链接。我不确定代码块,但您平台上的g ++命令行选项为
libboost_system
-lboost_system