win7 编译安装boost codeblock

本文详细介绍如何安装MinGW及Boost库,配置Code::Blocks环境,并进行多线程测试。包括下载安装MinGW、编译Boost库、配置Code::Blocks环境变量及编译器设置,最后通过一个简单的多线程程序验证配置是否成功。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一:安装MinGW
1、下载MinGW
2、安装MinGW,在系统变量中添加一个MingG_home, 值为MinGW的路径,并在 “PATH” 中添加 %MinG_home%\bin;

3、测试:在cmd下,输入gcc -v,会显示版本信息

二 :编译安装boost

1、下载并解压boost,进入解压目录后执行 bootstarp.bat gcc

2、编译完后生成bjam.exe后执行如下命令

D:\boost\boost_1_62_0>bjam install --toolset=gcc --prefix="d:\program\boost" link=static runtime-link=shared runtime-link=static threading=multi debug release >log.txt

三codeblock配置

1、在Codeblocks中使用Boost.定义全局变量boost,注意base,include和lib的填写,

设置 Code::Blocks中的全局变量boost
Setting->Global Variables         
i.  单击New按钮,创建boost全局变量
ii. 设置 base: D:\program\boost\
iii.设置include:D:\program\boost\include\boost-1_62
iv.设置lib: D:\program\boost\lib\

如图所示:


2、设置编译器,

Setting->Compiler...

设置Search directories 

Compiler 标签Add一项内容   $(#boost.include)


Linker 标签Add一项内容   $(#boost.lib)


四、测试
#include <iostream>
#include <boost/thread.hpp>
using namespace std;

void hello()
{
    cout <<"Hello world, I'm athread!"<< endl;
}

int main()
{
    boost::thread thread(&hello);
    thread.join();
    return 0;
}





附 编译参数含义
我在用GCC编译时用的命令是 bjam install –toolset=gcc –without-graph –without-graph_parallel –without-mpi –without-serialization –without-wave –prefix="D:\boost_1_47_0\VC9" link=static runtime-link=shared runtime-link=static threading=multi debug release
参数含义具体含义如下:


install/stage: install会生成包含头文件的include目录,stage表示只生成库(dll和lib)无Include目录(可以使用原本就有的booost_1_47目录下的boost目录)。我这里面用install命令,生成的include只有几十M不会占用太大空间。
toolset编译器选项可以是gcc、msvc、borland……
without表示不安装某些库(因为我在学习Python所以我这里安装了python库,安装Python库需要首先安装Python解释器,您如果不需要的话可以添加–with-python来取消安装python库)
prefix/stagedir 前面使用install时用prefix,用stage时用stagedir,表示编译生成文件的路径,我这里是在D:\boost_1_47下的GCC目录,您可以根据自己的偏好更好,同样配置C::B和VS时的也要相应地更改。
build-dir 编译过程中间文件存放目录,默认是bjam目录下的bin.v2,等编译完成后便可删掉该文件(我用两个编译器编译后生成的中间文件有1G多)
threading 一般是多线程所以multi(如果您不写多线程程序的话这里可以不用设置)
link 生成动态链接库/静态链接库。生成动态链接库需使用shared方式,生成静态链接库需使用static方式。一般boost库可能都是以static方式编译,因为最终发布程序带着boost的dll感觉会比较累赘。
runtime-link 动态/静态链接C/C++运行时库。同样有shared和static两种方式,这样runtime-link和link一共可以产生4种组合方式,各人可以根据自己的需要选择编译。一般link只选static的话,只需要编译2种组合即可,即link=static runtime-link=shared和link=static runtime-link=static,本人一般就编这两种组合。
debug/release 编译debug/release版本。一般都是程序的debug版本对应库的debug版本,所以两个都编译。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值