EPD中已自带Mingw,如何安装c++ boost库?

原创 2012年03月29日 22:36:31

由于已安装Python的科学计算套件epd-7.2-2-win-x86.msi,里面已自带了GNU(MinGW)的gcc,g++和gfortran等编译器,还想测试一下如何安装c++ boost库?

基本过程是这样的:

1.下载boost_1_49_0

2.解压缩后进入目录boost_1_49_0,在DOS窗口下运行如下命令

REM 生成b2.exe和bjam文件::
bootstrap.bat gcc

3.将boost安装到指定目录

REM 安装到一个指定的目录,比如 C:\boost :
bjam install --toolset=gcc --prefix=C:\boost


如果要安装到默认目录(c:\boost)只需运行如下命令即可

b2 install --toolset=gcc

然后是漫长的等待...大概8分钟左右


4.注意include和Lib分别为,include可加入系统的Path变量中,Lib在gcc和g++中需要使用-Llib指定

C:\boost\include\boost-1_49
C:\boost\lib


随便找个例子就可以测试了boost了.

 例如编译regex库的例子:

#include <boost/regex.hpp>
#include <string>
#include <iostream>

int main() {
	std::cout << "Enter a regular expression:\n";
	std::string s;
	std::getline(std::cin, s);
	try {
		boost::regex reg(s);
		std::cout << "Enter a string to be matched:\n";

		std::getline(std::cin, s);

		if (boost::regex_match(s, reg))
			std::cout << "That's right!\n";
		else
			std::cout << "No, sorry, that doesn't match.\n";
	}
	catch(const boost::bad_expression & e) {
		std::cout << "Invalid Regular Expression!" << std::endl;
		std::cout << "Error::" << e.what() << std::endl;
	}
	return 0;
}


regex库在boost安装的时候已经生成了两个链接库文件:

libboost_regex-mgw45-mt-1_49.a

libboost_regex-mgw45-mt-d-1_49.a

可以如下编译:

REM #可以这样编译
g++ -o test test.cpp -IC:\boost\include\boost-1_49  C:\boost\lib\libboost_regex-mgw45-mt-1_49.a
REM #也可以这样编译
g++ test.cpp -IC:\boost\include\boost-1_49 -LC:\boost\lib\ -lboost_regex-mgw45-mt-1_49 

使用g++编译时随便选一个都行,如果不想每次都写-IC:\boost\include\boost-1_49,可以将其加入系统路径,即path变量中.

那么以下就可以了:

g++ test.cpp -LC:\boost\lib\ -lboost_regex-mgw45-mt-1_49

记住,采用第二种方法编译时,链接库的文件名前缀(lib)和后缀(.a)是不需要写上的.

将以下文件保存为testbuild.bat文件,用起来和makefile的效果一样,很方便:

set BoostInclude=C:\boost\include\boost-1_49
set BoostLIB=C:\boost\lib
g++ -o test test.cpp -I$(BoostInclude)  -L$(BoostLIB) -lboost_regex-mgw45-mt-1_49


双击一下testbuild.bat就行了.

相关文章推荐

MinGW 环境Boost库的编译及安装

MinGW:MinGW是指只用自由软件来生成纯粹的Win32可执行文件的编译环境,它是Minimalist GNU on Windows的略称。Boost库:是一个可移植、提供源代码的C++库,是C+...
  • i_mimi
  • i_mimi
  • 2011年03月09日 00:07
  • 1762

mingw中安装boost库

首先下载并安装最新版本的mingw: http://sourceforge.net/projects/mingw/files/Installer/mingw-get-inst/ 安装完成mingw后,...

如何在C++代码中调用python代码(MinGW+Boost.Python)

如何在C++代码中调用python代码? 测试环境MinGW 4.5.2;Boost.Python 1.49.0;Windows XP sp3 首先编写一个embedding.cpp的文件: #...

Qt 5.4.2(自带mingw32)配置Qwt6.1.2.

  • 2016年01月22日 22:51
  • 258KB
  • 下载

Qt 5.4.2(自带mingw32)配置Qwt6.1.2

  • 2017年01月21日 11:45
  • 416KB
  • 下载

Qt(自带MinGW)+CMake+Opencv2.4.10搭建Opencv开发环境

编译Opencv的环境准备: 1.Opencv2.4.10的exe文件 2.安装CMake-gui,官网:https://cmake.org/ 3.安装Qt5,配置Qt环境变量如下图: 新建Q...

(CodeBlocks+MingW)安装和使用Boost

第一步 是下载codeblocks-12.11mingw-setup.exe,下载地址:: http://www.codeblocks.org/downloads/26.然后安装CodeBlocks....
  • rumswell
  • rumswell
  • 2012年12月11日 17:42
  • 13921
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:EPD中已自带Mingw,如何安装c++ boost库?
举报原因:
原因补充:

(最多只允许输入30个字)