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

C++: Windows下MinGW编译boost并配置Clion 1.安装MinGW: 也可以使用Qt自带的mingw 并mingw的bin目录添加到PATH 2. 安装boost: 以下2选1: 方式1:编译好的MSVC: http://dl.bintray.com/boostorg/release/ 方式2:官网未编译的Boost:https://www.boost.org/users/download/ 解压后: 文件结构说明:(来源Boost文档:https://www.boost.org/doc/libs/1_73_0/mor 阅读详情

由于已安装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窗口下运行如下命令

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

3.将boost安装到指定目录

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


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

  1. b2 install --toolset=gcc  
b2 install --toolset=gcc

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


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

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


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

 例如编译regex库的例子:

  1. #include <boost/regex.hpp>   
  2. #include <string>   
  3. #include <iostream>   
  4.   
  5. int main() {  
  6.     std::cout << "Enter a regular expression:\n";  
  7.     std::string s;  
  8.     std::getline(std::cin, s);  
  9.     try {  
  10.         boost::regex reg(s);  
  11.         std::cout << "Enter a string to be matched:\n";  
  12.   
  13.         std::getline(std::cin, s);  
  14.   
  15.         if (boost::regex_match(s, reg))  
  16.             std::cout << "That's right!\n";  
  17.         else  
  18.             std::cout << "No, sorry, that doesn't match.\n";  
  19.     }  
  20.     catch(const boost::bad_expression & e) {  
  21.         std::cout << "Invalid Regular Expression!" << std::endl;  
  22.         std::cout << "Error::" << e.what() << std::endl;  
  23.     }  
  24.     return 0;  
  25. }  
#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

可以如下编译:

  1. REM #可以这样编译  
  2. g++ -o test test.cpp -IC:\boost\include\boost-1_49  C:\boost\lib\libboost_regex-mgw45-mt-1_49.a  
  3. REM #也可以这样编译  
  4. g++ test.cpp -IC:\boost\include\boost-1_49 -LC:\boost\lib\ -lboost_regex-mgw45-mt-1_49   
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变量中.

那么以下就可以了:

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

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

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

  1. set BoostInclude=C:\boost\include\boost-1_49  
  2. set BoostLIB=C:\boost\lib  
  3. g++ -o test test.cpp -I$(BoostInclude)  -L$(BoostLIB) -lboost_regex-mgw45-mt-1_49  
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就行了.

g++ boost库编译及测试 1.downlaod boost.zip 2.unzip xx.zip 3.upload to linux 4.chmod a+x bootstrap.sh 5../bootstrap.sh 如出现其他权限不够情况,请依次更改 6.wait for some secondes 7.copy boost/boost to /usr/include/boost 8.copy boost/ 阅读详情

相关推荐

【C++基础】【集成编译环境01】Clion的C++编译环境和Boost Test Framworks框架运行实践

前言:

山云的专栏 5049

【C++】win系统用MinGW编译Boost库

在win端如果使用非VS编译器,则需要使用Boost.Build来创建自己的二进制文件。本文,主要记录win系统用MinGW编译Boost库的过程。

后厂村路蔡徐坤的博客 1271

windows-qt 使用mingw编译c++boost并使用

一、boost是一个准标准库,相当于STL的延续和扩充,它的设计理念和STL比较接近,都是利用泛型让复用达到最大化。不过对比STL,boost更加实用。STL集中在算法部分,而boost包含了不少工具类,可以完成比较具体的工作。考虑到boost的强大,为此特地里做了windows下移植编译操作。 二、boost的移植 1.下载boost源码boost_1_62_0.7z,下载地址:https://sourceforge.NET/projects/boost/ 其实也可以下载boos编译好的库和头文件,不过为

我不是码农的博客~~~ 660

Windows平台MinGW GCC编译并使用C++ Boost

Windows平台MinGW GCC编译并使用C++ Boost 文章目录Windows平台MinGW GCC编译并使用C++ Boost前提编译Boost为动态链接库使用编译的Boost动态链接库编译Boost为静态链接库使用Boost静态链接库 前提 操作系统:Windows 10,安装了MinGW,并将gcc.exe等程序添加到Path变量中。 在下载好的Boost目录中运行booststr...

semicloud的专栏 1092

boost1.65.1_MinGW(动态/静态库)

Windows下使用MinGW-W64编译的boost1.65.1库,包含有无运行时库、debug/release的动态/静态库。

一分钟理解 AP(Affinity Propagation) 亲和⼒传播算法

这篇博客发出来后,我用 Rust 复现代码出现问题。为此,我对对照了 sklearn 的相关代码,反复比较了两天,发现一处 bug,把 += 误写成了 =,导致数据量大的时候完全无法聚类。这个debug过程让我仔细梳理的 AP 算法的计算过程,今天我对这篇博客做了大规模修改,以便能原样展现原论文思想。

程序猿视角 3219

windows下使用gcc编译boost库

windows下使用gcc编译boost库 2011年04月20日   windows下使用gcc编译boost库 收藏   在进行之前,首先需要准备的当然是下载boost库的合适版本,下载安装gcc for windows,这些直接google,这里只简单记录编译时的步骤,防止遗忘之用。   虽然我只是一很菜很菜的菜鸟,可是却非常迷恋gcc+gdb+vim的组合,就算现在的V...

gas17gas 375

光储微电网混合储能系统的控制策略

随着社会生产力的不断提高,对不可再生资源的大量消耗,人们已经意识到发展可再生能源的重要性,因此微电网技术作为再生能源利用的有效形式被快速发展。蓄电池容量无限大是传统光储微电网混合储能系统控制策略一种理想形式,但实际上蓄电池的容量是有限度的,传统控制策略在蓄电池剩余电量达到阖值时将无法正常使用,由此提出了光储微电网混合储能系统的新型控制策略,又结合实际情况,对开关进行了改进,利用开关与二极管并联,使其拥有四种工作状态,当储能元件剩余电量达到阈值时,可自动恢复电量降低成本,提高并输出电池电能质量。

nhkg888的博客 1741

boost mingw 编译

http://www.cppblog.com/xinus/archive/2011/03/01/140854.aspx

yangry的专栏 2795

大华摄像头GB28181协议接入EasyCVR全流程(附常见错误排查)

本文详细阐述了大华摄像头通过GB28181协议接入EasyCVR视频管理平台的全流程,涵盖从核心原理、前期参数规划、Web界面配置到平台侧验证的完整步骤。重点针对网络端口、SIP参数配置等关键环节提供了深度排错指南,并总结了设备无法注册、在线不稳定、拉流失败等常见问题的排查思路与解决方案,旨在帮助安防工程师与系统集成商高效完成设备接入与调试。

weixin_29279153的博客 310

CUPED (Controlled-experiment using Pre-Experiment Data) 论文学习笔记

CUPED是一种用于提升A/B测试灵敏度的方差缩减技术。它通过利用实验前用户行为数据(协变量X)构建调整后的指标Y_cuped=Y-θ(X-E[X]),其中θ=Cov(Y,X)/Var(X)。这种方法能在保持处理效应估计无偏的前提下,将方差降低1-ρ²倍(ρ为前后指标相关性)。CUPED的核心优势在于:不改变平均处理效应的估计,但能显著提升统计功效,使得实验更容易检测到微小但真实的效应,同时减少所需样本量或实验周期。该技术特别适用于用户异质性大、指标方差高的场景。

pursuit的博客 2148

MinGW(C++)的安装和使用

MinGW(Minimalist GNU for Windows) 是一个可自由使用和自由发布的Windows特定头文件和使用GNU工具集导入库的集合,允许你在GNU/Linux和Windows平台生成本地的Windows程序而不需要第三方C运行时(C Runtime)库。MinGW 是一组包含文件和端口库,其功能是允许控制台模式的程序使用微软的标准C运行时(C Runtime)库(MSVCRT.DLL),该库在所有的 NT OS 上有效,在所有的 Windows 95发行版以上的 Windows OS 有

进击的Explorer 2456

【赛题解析&命令脚本配置】2023年全国职业院校技能大赛GZ073网络系统管理赛项赛题第1套模块A:网络构建 & (五)无线网络配置+(六)出口网络配置-命令配置

【赛题解析&命令脚本配置】2023年全国职业院校技能大赛GZ073网络系统管理赛项赛题第1套模块A:网络构建 & (五)无线网络配置+(六)出口网络配置-命令配置

君逍遥o 408

MinGW安装和环境变量的配置

今天,我在我的xp上安装上了MinGW,这是一个GNU项目的C/C++开发环境,是Linux下的gcc编译器在windows上的实现,是一个开源、免费,标准的开发环境。它包含了最新和最标准的函数库和头文件。   首先,我们先在www.mingw.org上找到下载的链接地址,然后再去下载网络安装程序,很小的。我下的是最新的版本,是5.1.4。然后点击 mingw-5.1.4.exe,然后一直n

暂时为空 3191

K-Core, K-Shell & K-Crust傻傻分不清楚

K-Core(K-核)就是所有大于等于K的K-Shell的并集;K-Crust(K-皮)就是所有小于等于K的K-shell的并集。

欢迎订阅 -- 小源笔迹 2256

智能化教育改革中的教师角色转变:AI应用架构师如何设计“人机协同”系统?

个性化与规模化的矛盾:如何用AI实现规模化的个性化学习,同时保留教师的“人文温度”?自动化与自主性的矛盾:如何用AI自动化流程(如批改),同时避免教师沦为“AI操作工人”?数据驱动与经验驱动的矛盾:如何平衡AI的“数据决策”与教师的“经验决策”,避免“算法偏见”或“经验固化”?在智能化教育改革中,教师始终是教育的核心——AI系统是“辅助工具”,而非“替代者”。

小白菜的博客 1269

我的编译BOOST笔记

许多新人对于编译BOOST感到无从下手,甚至因此而放弃使用BOOST,那真的太可惜了,下面我把一些常用的BOOST编译方法贴于此,同时也作为自己的笔记。首先下载bjam.exe,复制到 $BOOST$ 目录下。或者自己生成bjam,打开Visual Studio 2008 命令提示窗口$BOOST$/tools/jam/src,执行 build.bat 会在$BOOST$/tools/jam/sr

1256

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

在Windows上安装 boost 和 GCC (MinGW)

安装 Mingw 下载并安装 Mingw-w64。 安装过程中选择 Architecture select x86_64,其余默认。 添加 Mingw-w64 的 bin 目录至 环境变量 PATH 中。 如果采用默认路径的话,路径地址为 C:\Program Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin。 检测安装是否成功g++ --version 如果成功安装,则会输出相应的版本信息。 安装boost 下载并解压出 bo

m0_47696151的博客 4303

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Qt编译和使用boost库

配置gcc可以在cmd中使用添加MinGW到环境变量安装过Qt的都已经默认安装过MinGw的环境了,只需要找到配置一下环境变量就行 我的在D:\Qt5.5.1\Tools\mingw492_32\bin 然后将该路径添加到系统环境变量中验证是否安装成功打开cmd,输入一下的内容gcc -v如果显示了gcc的版本信息,那么MinGw添加成功,下面就可以在cmd中访问了。编译boost库boost库

郭小郭的专栏 1万+

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

GCC源码

1、下载gcc源码包 Download (HTTP): http://ftp.gnu.org/gnu/gcc/gcc-4.9.2/gcc-4.9.2.tar.gz

Webster_WXH的博客 1797

windows mingw boost setting

安装Mingw64,msys,cmake. 按照boost的guide用编译boost:如果已经安装vs则可以 5.2.1   Install Boost.Build Boost.Build is a text-based system for developing, testing, and installing software. First, you'll need t

557
上一篇: MinGW(GCC)和boost.python (续集)
下一篇: django 数据库API参考(上)
bingxue7921
博客等级 码龄17年 1粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值