Eclipse+Mingw+Boost 环境搭建
一、安装CDT插件
Eclipse是用Java的swt开发的,所以需要java虚拟机才能运行,jdk的配置方法网上一大堆,这里就不细说了。安装CDT的方法简单提一下,到Help->Eclipse MarketPlace下搜索CDT,然后安装即可。
具体过程可以参考百度经验
二、MinGW配置
首先要装一个MinGW,下载下来后解压安装,并将MinGW下的bin目录加入环境变量Path中(最好加在前面,防止和VC/.NET之类的make命令冲突)。
终端中输入gcc -v,如果出现以下内容,则表示配置成功

接下来将bin目录下的mingw32-make.exe改名为make.exe这是因为eclise内部默认使用这个文件名。打开终端输入make,如果提示
make:***No targets specfied and no make file found stop
则表示修改成功
如果不想改名,还有一个办法是 到Window->Preference->New C/C++ Project Wizard->Make Project下把Use default build command的勾去掉,将下面的command改为mingw32-make

要想在Eclipse里写代码,还需要多配置两个环境变量,一个是头文件的路径设置C_INCLUDEDE_PATH=E:\MinGW\include;另一个是MinGW的库文件,设置LIBRARY_PATH=E:\MinGW\lib,这样eclipse新建C++项目时就会自动把MinGW的头文件加载到项目中。

三、用MinGW编译Boost
1.在下载好解压后的boost_1_59_0(1_59_0是版本号)目录下,有一个bootstrap.bat脚本,我们输入bootstrap gcc进行编译

2.编译成功的话会在当前目录下生成一个bjam.exe:

3.接着我们要使用bjam.exe编译boost。
bjam install/stage --toolset=gcc --without-python --stagedir="E:\boost"
toolset表示所用的编译器,由于我们装的是MinGW,所以是gcc。install/stage的区别是:stage只会生成库文件(.a文件),而instal还会生成include目录,include目录包含的东西实际上就是解压后的boost目录,所以直接用之前解压的boost目录里的东西就行,一来节省编译时间,二来节省磁盘空间。with/without指定编译/不编译哪些库stagedir/prefix:stage时用stagedir,install时用prefix,如果不指定默认装在C盘。
这里我用的还是install命令,安装在D盘,命令为bjam install --toolset=gcc --prefix="D:/boost"
4.等待一段时间后(大概20分钟),会在指定目录下生成一个boost文件夹,里面放着生成的.a文件(这里和参考链接给的教程里说的不一样,因为我用的是gcc所以生成.a文件,如果用msvc编译出来的应该就是.dll文件了)。

可以通过bjam --show-libraries查看安装的库

5.将编译好的boost目录拷贝到E:\MinGW下
四、在Eclipse中使用boost
1.新建一个C++项目,然后在项目上右键选择Properties
2.打开"C/C++ General" 标签下的"Paths and Symbols",确保configuration是 "Debug [Active]"
3.在Includes菜单下的language框里选择GNU C++,加入boost的头文件路径

4.在Library Path菜单里添加boost的库文件路径

到此,boost就已经配置好了,我们接下来测试一下其中的正则表达式模块。
#include<iostream>
#include<boost/regex.hpp>
using namespace std;
using namespace boost;
int main(int argc, const char* argv[])
{
string pattern("[^c]ei");
pattern = "[[:alpha:]]*" + pattern + "[[:alpha:]]*";
regex r(pattern);
smatch results;
string test_str = "receipt freind theif receive";
if(regex_search(test_str, results, r))
cout << results.str() << std::endl;
}
这段代码的作用是找到包含ei但不包含cei的单词,正确输出结果是 freind。
运行之前,需要添加regex的库文件libboost_regex-mgw34-mt-d-1_59.a,以免ld链接不成功。
还是右键Properties,找到C/C++ Build->Settings,选择MinGW C++ Linker->Libraries,点击add按钮输入boost_regex-mgw34-mt-d-1_59(注意去掉开头的lib,否则找不到)

然后build,再run,就可以看到结果了:

参考:
Eclipse+CDT+MinGW
boost 1.56.0 编译及使用
测试代码出处
Eclipse+Mingw+Boost 环境搭建的更多相关文章
- Eclipse+MinGW+Boost环境搭建
一.编译 运行 .bat 生成bjam.exe 运行:bjam --build-type=complete toolset=gcc stage 二.配置 配置eclipse -L Path加入链接库位 ...
- Eclipse swt开发环境搭建
原料: eclipse swt.下载链接为: Eclipse 4.6.2 Release Build: 4.6.2 配置说明: Developing SWT applications using Ec ...
- Eclipse JSP/Servlet 环境搭建
Eclipse JSP/Servlet 环境搭建 本文假定你已安装了 JDK 环境,如未安装,可参阅 Java 开发环境配置. 我们可以使用 Eclipse 来搭建 JSP 开发环境,首先我们分别下载 ...
- Solr4.8.0源码分析(4)之Eclipse Solr调试环境搭建
Solr4.8.0源码分析(4)之Eclipse Solr调试环境搭建 由于公司里的Solr调试都是用远程jpda进行的,但是家里只有一台电脑所以不能jpda进行调试,这是因为jpda的端口冲突.所以 ...
- eclipse python开发环境搭建
eclipse python开发环境搭建[非原创] 1.在www.eclipse.org官网下载Eclipse Classic 4.2.2,Win7 64位下载eclipse-SDK-4.2.2-wi ...
- ECLIPSE JSP TOMCAT 环境搭建
ECLIPSE JSP TOMCAT 环境搭建(完整) 要学习一门语言,首先要做的就是搭建环境,然后能写一个小的Demo(类似Helloworld),不仅可以建立信心,而且还可以为之后的学习搭建一个验 ...
- JSP-Runood:Eclipse JSP/Servlet 环境搭建
ylbtech-JSP-Runood:Eclipse JSP/Servlet 环境搭建 1.返回顶部 1. Eclipse JSP/Servlet 环境搭建 本文假定你已安装了 JDK 环境,如未安装 ...
- 【ARM-Linux开发】在win下开发的eclipse+yougatoo+jlink环境搭建
在win下开发的eclipse+yougatoo+jlink环境搭建 一 工具的安装 第一步:安装gcc编译工具 yagarto-bu-2.21_gcc-4.6.2-c-C++_nl-1.19.0_g ...
- eclipse+android+opencv环境搭建的步骤
---恢复内容开始--- 2016年4月12日编写 一.第一步:搭建eclipse开发环境 1.在eclipse官网中下载eclipse.zip进行解压即可.没有版本要求,但要和电脑的位数相匹配.如: ...
随机推荐
- [驱动]内核添加USB转串口驱动支持
转自:http://blog.csdn.net/gatieme/article/details/49491325 目录 1. 问题 2. 驱动源码 3. 内核配置 4. 编译内核和模块驱动 5. 加载 ...
- ZooKeeper程序员指南(转)
译自http://zookeeper.apache.org/doc/trunk/zookeeperProgrammers.html 1 简介 本文是为想要创建使用ZooKeeper协调服务优势的分布式 ...
- 认识zookeeper
之前稍微看了一下Hadoop相关的技术文档,有了解到Hbase用zookeeper做分布式应用程序协调服务. 现在做的项目里,也是用zookeeper做集群和负载均衡(从类名LoadBalance看来 ...
- 主从Reactor多线程模型
Reactor 单线程--多线程--主从多线程
- 如何修改SharePoint列表条数等阈值
若要修改SharePoint中对列表最大条数等设定的阈值,可按如下步骤操作: 1. 打开页面:管理中心 > 应用程序管理 > 管理Web应用程序.2. 选择要修改阈值的Web应用程序,并在 ...
- uboot和内核波特率不同
uboot和内核波特率不同,在uboot启动后,修改uboot参数: set bootargs 'noinitrd root=/dev/mtdblock3 init=/linuxrc console= ...
- JAVA设计模式之解释器模式
在阎宏博士的<JAVA与模式>一书中开头是这样描述解释器(Interpreter)模式的: 解释器模式是类的行为模式.给定一个语言之后,解释器模式可以定义出其文法的一种表示,并同时提供一个 ...
- COSBench添加driver负载机
说明:Driver是COSBench测试工具中对负载机的一种标记,相当于loadrunner中的负载发生器. 在使用COSBench进行云存储性能测试时,面对强大的云服务,如果只有单个driver负载 ...
- [oracle] update和merge语句的几点写法
1.update t2 set parentid=(select ownerid from t1 where t1.id=t2.id); 2. update tb_client_win_lost_re ...
- JavaScript笔记:DOM基础
一.什么是DOM DOM全称是document object model(文档对象模型).在网页上,组织页面(或文档)的对象被组织在一个树形结构中,用来表示文档中对象的标准模型就称为DOM.通俗的说D ...