mingw/msys中编译boost

首先,当然是安装mingw了。安装非常方便,去网站上下载个mingw-get或者它的图形界面版,然后安装就可以了。不过,在安装过程中,很容易出现下载失败的情况,所以建议还是使用mingw-get这个命令行版本的比较好,失败了马上重新执行一边就可以了。

首先必须安装gcc和g++,使用mingw-get install gcc g++就可以了。这个命令怎么这么像debian的包管理器呢~
安装好之后,再去下载msys的安装包。有图形界面,安装起来比较方便的,在最后是否已经安装了mingw的选项中选择是,然后输入mingw安装的路径即可。这个路径,msys会在fstab中写入,运行时挂载到/mingw目录下。
打开msys之后,就可以开始编译boost了。首先,当然是先去下载源代码包了,下载了之后解压缩。试了好几次,不能直接执行boost源代码最外层的那个bootstrap.sh这个脚本来生成bjam文件。直接执行,会提示找不到sys/resources.h这几个头文件,如果指定了toolset为mingw之后,bjam是可以编译过的,但是再编译后面的boost其他模块,就会提示缺少mingw.jam这个文件。
所以,通过查看这几个脚本文件,可以去tools\build\v2\engine\src目录下,执行build.sh mingw就可以编译出后面需要用到的bjam。稍微看下就可以知道,其实对于mingw,用的编译工具还是gcc,只不过是编译bjam的时候加载的源代码不同,不会出现sys/resouces.h不存在这样的错误。
编译完成后,把bin.ntx85目录中的bjam.exe拷贝到源代码目录的最外层,然后回到最外层执行:
bjam --prefix=/mingw --toolset=gcc variant=release link=static threading=multi runtime-link=static install
因为在windows中使用,为了方便分发,所有的库都采用静态连接的方式。将boost安装到/mingw目录中,也就是mingw安装的地方,这样后面要编译其他东西的时候就能够找到这里库了。刚开始会有提示,默认没有使用mpi,系统中找不到python,这两个目前不需要,暂时不管了。

One Reply to “mingw/msys中编译boost”

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据