将Boost链接到Eclipse中的C++项目

Mah*_*ive 9 c++ regex eclipse linker boost

我正在尝试让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"..

Ale*_*min 19

我刚刚完成了安装MinGW,编译boost和安装Eclipse CDT的整个过程,我可以使用编译简单的程序boost:regex.我会记下所有步骤.我希望这可以有所帮助.

我已经在他们的默认位置安装了MinGW和MSYS.

以下是我为构建提升所采取的步骤:

  • http://sourceforge.net/projects/boost/files/boost-jam下载boost-jam-3.1.18-1-ntx86.zip
  • 将bjam.exe放在PATH中的某个位置
  • 解压缩升压 C:\mingw\boost_1_42_0
  • 打开msys终端窗口和 cd /c/mingw/boost_1_42_0
  • 在boost目录下运行 bjam --build-dir=build toolset=gcc stage

配置Eclipse:

  • 更新站点将CDT添加到Eclipse 3.5
  • 创建一个新的C++项目
  • 项目菜单下选择属性
  • 确保配置为Debug [Active]
  • 在" C/C++ General ">" 路径和符号 "中

    • Includes选项卡下,选择GNU C++语言并添加C:\MinGW\boost_1_42_0
    • 在" 库路径"选项卡下添加C:\MinGW\boost_1_42_0\stage\lib
  • 在" C/C++ Build ">" 设置 "中

    • 选择MinGW C++链接器 >
    • 单击Libraries的添加按钮(-l)
    • 输入libboost_regex-mgw34-mt-d (不带.lib)

然后,您可以对发布配置执行相同的步骤,但请libboost_regex-mgw34-mt改为使用.还要确保您的源文件包含<boost/regex.hpp>


小智 7

要链接到eclipse中的boost库,您需要设置eclipse的项目库路径(带有-L的路径)和库的名称(带有-l的路径).

必须删除前缀'lib'和库名称的扩展名: - 例如:libboost_regex.a应指定为boost_regex.