首先需要将gcc等可执行程序添加到系统路径
例如,我的mingw路径是D:\QtSdk\mingw,于是将
D:\QtSdk\mingw\bin加入到windows的系统路径,至于怎么加,可以从网上搜一下。添加完毕,可以打开一个控制台:开始->运行,输入:cmd,然后在弹出的控制台中输入:gcc -v,如果能正确显示gcc的版本号,就说明添加成功:
然后从Boost官网下载你需要的Boost版本,我用的是1.4.90版本。
第三步是编译bjam这个程序,对于这个程序的作用,这里给出的解释是,bjam是一个驱动Boost编译系统的命令行工具,若想编译Boost二进制文件,你需要于Boost根目录下运行bjam。
bjam在下载到的源码压缩包中有相应代码,需要我们自己编译一下。
在E:\boost_1_49_0\tools\build\v2\engine目录下,你会找到build.bat这个批处理文件,然后如同(首先)那个步骤一样,打开控制台,进入到这个目录下,执行:
build.bat gcc
然后就可以在该目录下找到一个新建的bin.ntx86目录,这个目录中就有我们需要的bjam.exe文件:
将这个bjam.exe文件拷贝到Boost_1_49_0目录下或者直接拷贝到mingw\bin\这个目录下。
到此,准备工作完成。
第四步:编译Boost。
依然是在控制台窗口中,切换到Boost代码的根目录,也就是上面说的Boost_1_49_0下,执行如下指令:
bjam.exe "-sTOOLS=mingw" --prefix=D:\Boost install
或者:
bjam.exe --prefix=D:\Boost toolset=gcc install
整个编译过程比较耗时,如果没有问题,在编译结束后,就可以在D:\Boost目录下看到两个子目录:include和lib,然后你就可以根据实际需要,选择将这两个目录拷贝到mingw目录下的include和lib目录中或者将这两个目录的路径添加到系统路径中。
最后一步,做善后工作。
由于在Windows系统下,默认编译的Boost静态库的命名方式如:
libboost_iostreams-mgw44-mt-1_49.a
可能编译器无法识别,因此可以将其改名为:
libboost_iostreams.a
也就是去掉编译器号和Boost版本号,mt表示multi-thread,多线程版本,这个是默认参数,你可以使用:
bjam.exe --help
查看编译参数。
说明:
在成功编译之前,从网上查阅了好多资料,甚至官网指南,但是完全编译版本我始终没有成功,例如:
bjam.exe --build-type=complete toolset=gcc stage
这个我就没有成功,不知道为何,只能使用默认的最小化minimal版本了。
build.bat gcc
然后就可以在该目录下找到一个新建的bin.ntx86目录,这个目录中就有我们需要的bjam.exe文件:
将这个bjam.exe文件拷贝到Boost_1_49_0目录下或者直接拷贝到mingw\bin\这个目录下。
到此,准备工作完成。
第四步:编译Boost。
依然是在控制台窗口中,切换到Boost代码的根目录,也就是上面说的Boost_1_49_0下,执行如下指令:
bjam.exe "-sTOOLS=mingw" --prefix=D:\Boost install
或者:
bjam.exe --prefix=D:\Boost toolset=gcc install
整个编译过程比较耗时,如果没有问题,在编译结束后,就可以在D:\Boost目录下看到两个子目录:include和lib,然后你就可以根据实际需要,选择将这两个目录拷贝到mingw目录下的include和lib目录中或者将这两个目录的路径添加到系统路径中。最后一步,做善后工作。
由于在Windows系统下,默认编译的Boost静态库的命名方式如:libboost_iostreams-mgw44-mt-1_49.a
可能编译器无法识别,因此可以将其改名为:libboost_iostreams.a
也就是去掉编译器号和Boost版本号,mt表示multi-thread,多线程版本,这个是默认参数,你可以使用:bjam.exe --help
查看编译参数。说明:
在成功编译之前,从网上查阅了好多资料,甚至官网指南,但是完全编译版本我始终没有成功,例如:bjam.exe --build-type=complete toolset=gcc stage这个我就没有成功,不知道为何,只能使用默认的最小化minimal版本了。