C ++ Boost库链接器找不到,不会编译

时间:2012-02-01 13:15:56

标签: c++ eclipse boost linker mingw

我正在尝试使用已编译的Boost库进行编译。我可以使用仅限标头的Boost库进行编译,但现在我想使用需要编译的库,我无法使其工作。我使用toolset = gcc和--build-type = complete stage构建了整个Boost库。我正在使用Eclipse,我正在链接lib所在的文件夹:project_properties-> c / c ++ build-> settings-> mingw c ++ linker-> libraries以及库搜索路径( - L)我正在链接文件夹路径。我收到的错误如下:

undefined reference to `boost::regex_error::raise() const'

undefined reference to `boost::re_detail::lookup_default_collate_name(std::string const&)'

我正在编译来自boost教程设置指南的示例代码,其中包括boost / regex.hpp

2 个答案:

答案 0 :(得分:1)

您需要将程序链接到Boost预编译库。

示例:

c++ -I path/to/boost_1_48_0 example.cpp -o example \
 -L~/boost/stage/lib/ -lboost_regex-gcc34-mt-d-1_36

See description here

答案 1 :(得分:0)

Eclipse:项目属性 - > c ++ build - >设置 - >链接器 - >库

如果要使用共享库或:/ usr / lib / libboost_regex.a (或libboost_regex.a所在的位置),如果您想要静态,请将 boost_regex 添加到库联。