本文主要是介绍win7 编译安装boost codeblock,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一:安装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版本,所以两个都编译。
这篇关于win7 编译安装boost codeblock的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!