我正在尝试让Boost库在Eclipse中的C ++项目中运行。我可以在Boost中使用仅包含头的库时成功构建,例如使用lambda头的“入门”指南中的示例简单程序。
我无法让我的项目成功链接到正则表达式Boost库,如本指南后面所示。在我的项目属性下 - > c / c ++ build - >设置 - >工具设置标签 - >库,我已将“libboost_regex”添加到“库”框中,并将“C:\ Program Files \ boost \ boost_1_42_0 \ bin.v2 \ libs”添加到“库”搜索路径框中,因为这是所有.lib文件所在的位置。我甚至尝试将“libboost_regex-mgw34-mt-d-1_42.lib”添加到库框而不是“libboost_regex”,因为这是确切的文件名,但这也不起作用。
当我尝试构建项目时,我不断收到“无法找到-llibboost_regex”的错误消息。关于如何解决这个问题的任何想法?
编辑:在Windows XP上,使用mingw,我也试过了“boost_regex”..
答案 0 :(得分:19)
我刚刚完成了安装MinGW,编译boost和安装Eclipse CDT的整个过程,我可以使用boost:regex
编译简单程序。我会记下所有步骤。我希望这可以有所帮助。
我已将MinGW和MSYS安装在默认位置。
以下是我为构建提升所采取的步骤:
C:\mingw\boost_1_42_0
cd /c/mingw/boost_1_42_0
bjam --build-dir=build toolset=gcc stage
配置Eclipse:
在“ C / C ++ General ”>中“路径和符号”
C:\MinGW\boost_1_42_0
C:\MinGW\boost_1_42_0\stage\lib
在“ C / C ++ Build ”>中“设置”
libboost_regex-mgw34-mt-d
(不包含.lib) 然后,您可以对发布配置执行相同的步骤,但请改用libboost_regex-mgw34-mt
。另外,请确保您的源文件包含<boost/regex.hpp>
答案 1 :(得分:7)
要在eclipse中链接到boost库,你需要设置eclipse的项目库路径(带有-L的路径)和库的名称(带有-l的路径)。
必须删除前缀'lib'和库名称的扩展名: - 例如:libboost_regex.a应指定为boost_regex。
答案 2 :(得分:0)
我相信你的lib路径指向错误的地方。 libs将安装到:
boost_install_dir \ boost_1_42 \ lib中
我认为默认的boost_install_dir是“C:\ Program Files \ Boost”(不确定,因为我没有使用默认的安装目录)。