在VC++.net平台下编译使用boost库的简捷方法
前不久,在VC6上编译使用了boost库,感觉配置挺麻烦的,其实,vs.net2003下编译boost不用那么麻烦的,
并不需要自己亲自来设置编译条件,只要用VS.net的命令行运行环境即可.
1.编译前的准备
当然先下载解压了boost 的最新版本.
首先用vc2003的那个命令行DOS环境启动(菜单里有"命令提示符")
开始->程序->Microsoft Visual Studio .NET 2003
->Visual Studio .NET 工具"->"Visual Studio .NET 2003 命令提示"
然后在此环境下切换到boost_1_33_1/tools/build/jam_src目录:
运行build编译
2.编译
完了以后把编译完成的文件(在boost_1_33_1/tools/build/jam_src/bin.ntx86目录下)拷贝到boost_1_33_1目录下,
直接运行"
"就ok啦
编译好后boost库产生的lib及dll都存放在stage目录下了.
以后在使用时直接在项目中添加这个附加库目录即可.
要是vc8,最后一步改称
bjam sTOOLS=VC-80 stage
(怎么样,是不是很简便呢.)
3.使用
VC.net中使用boost库跟以前的方法一样.
在vs.net2003的项目中配置boost库的路径:
在visual studio .net2003 开发环境下,
选择菜单"项目" -> "属性",出来的对话框中,
(1).先选择"C/C++",然后在其下面的 "常规"项的"附加包含目录"中填上“boost库的根目录”.
如果项目中程序中使用到了thread多线程库,则在“命令行” 的"附加选项"中添加上"MTd"或者其它的运行多线程需要的参数.
(2).然后在对话框中再选择"链接器"->"常规"->"附加库目录",
在这个选项中填入"编译boost库文件目录",比如前面的"stage"目录.
使用Dev-Cpp编译Boost库
前面,用MS的工具VC成功编译和使用了boost库,考虑到跨平台编译的问题,就想到在Dev-C++/Dev-Cpp开发环境下对boost进行编译,步骤与boost在VC上编译没什么区别,个人有点懒,不想自己写了,就从别人借来贴上了。
:-)
(假设dev-cpp的安装路径为d:/develop/dev-cpp/,由于Dev-cpp使用的其实
是mingw的编译器,因此编译boost时选择的toolset也就是mingw)
(1)下载boost_1_33_1.zip,将其解压到D:/Develop/boost_1_33_1/目录下,
这里面都是源码,需要编译成库。
(2)编译Boost.Jam,这是Boost的编译工具,也需要从源码编译。
进入D:/Develop/boost_1_33_1/tools/build/jam_src/目录
设置环境变量和路径:
set BOOST_JAM_TOOLSET_ROOT=d:/develop/dev-cpp/
set path=%BOOST_JAM_TOOLSET_ROOT%bin;%path%
执行
build.bat mingw
成功执行后生成目录:
D:/Develop/boost_1_33_1/tools/build/jam_src/bin.ntx86/
新生成的bjam.exe就在这个目录下,将其拷贝到D:/Develop/boost_1_33_1/目录下。
(3)编译boost源码
进入D:/Develop/boost_1_33_1/目录,
执行编译:
bjam "-sTOOLS=mingw" "-sMINGW_ROOT_DIRECTORY=D:/Develop/Dev-Cpp" install
执行完后编译的库文件和头文件会被安装到C:/Boost/目录下
dev-c++在开发BOOST程序的时候,需要设置
tool->compiler options->directories->libraries
和
tool->compiler options->directories->c++ includes
boost 1_33_1在VC6.0上的安装、编译、配置
最近要使用boost库来进行一些跨平台的开发,比如使用thread线程库来开发多线程的程序。在网上找了一下,大部分关于boost安装编译的文档是在VS2003.net环境下进行的,关于boost在VC6.0上进行编译的比较少,由于本人的主要开发环境是VC6.0,所以自己动手进行了下面的boost配置编译工作。
本人的VS6.0安装在“D:/Program Files/Microsoft Visual Studio”目录,下载boost的地址"http://prdownloads.sourceforge.net/boost/boost_1_33_1.zip?download",
boost解压后的根目录为:"D:/C++/boost_1_33_1",
可参考改为相应的目录即可。
1.修改“D:/C++/boost_1_33_1/tools/build/jam_src/build.bat”中的所有:
“C:/Program Files/Microsoft Visual Studio”为
“D:/Program Files/Microsoft Visual Studio”,也就是VS6.0的安装目录。
2.执行:“D:/C++/boost_1_33_1/tools/build/jam_src/build.bat”
产生一个子文件夹“bin.ntx86”,里面有个可执行文件"bjam.exe"。(如果你的同时默认安装了VC6和.net,那就需要指定编译器,因为我们要用VC6编译器,所以实际执行时带上参数msvc,也即是执行"build.bat msvc")
3.拷贝这个可执行文件"bjam.exe"放到“D:/C++/boost_1_33_1”目录.
4.添加“D:/C++/boost_1_33_1”到操作系统的环境变量path中,
SET path="D:/C++/boost_1_33_1";%PATH%
5.打开控制台(cmd),在命令行执行后面的步骤.
5.1 先执行以下命令,设置VC编译环境:
SET MSVC_ROOT="D:/Program Files/Microsoft Visual Studio/VC98"
SET VISUALC="D:/Program Files/Microsoft Visual Studio/VC98"
SET JAM_TOOLSET=VISUALC
SET PYTHON_ROOT=D:/Program Files/Python2.2.2
SET PYTHON_VERSION=2.2
5.2 进入“D:/Program Files/Microsoft Visual Studio/VC98/bin"目录,
运行"VCVARS32.BAT”,
5.3 然后转到“D:/Program Files2/boost_1_33_1”目录,
最后运行下面的命令来编译boost库:(仍然是同一个控制台窗口!否则无效)
bjam -sBOOST_ROOT=. -sTOOLS=msvc "-sBUILD=debug release static/dynamic"
6.编译过程在boost的根目录下产生“bin/boost/libs”文件夹,约130兆;
整个过程约25分钟.
7.为了以后在项目中配置方便,把编译出来的*.lib,*.dll文件搜索出来后,
把这些文件统一放到一个自己新建的目录下,比如libs_vc6目录。
1.VC6.0中菜单选择
“Tools” -> “Options” -> “Diretories” -> “Show Diretories for”中的下拉框选择:
1) 在”Include files” 中添加boost根目录的路径,
2) 在”Source files” 中添加boost根目录的路径,
3) 在”Library files” 中添加刚才创建包含*.lib,*.dll文件的libs_vc6目录的路径,和“D:/C++/boost_1_33_1/libs”.
2.然后自己写个程序测试一下即可~
-----------------------------------------------------------------
参考:
http://www.cdown.net/Info/32600.html
http://dev.csdn.net/develop/article/18/18225.shtm
http://www.boost.org/more/getting_started.html