VC6安装boost on windows
首先初始化并确认环境,打开DOS窗口,逐行运行以下指令
set path=F:\_H\VC++.6.0.with.SP6\VC++.6.0.with.SP6\VC6EN\VC98\BIN;%PATH%;
set INCLUDE=F:\_H\VC++.6.0.with.SP6\VC++.6.0.with.SP6\VC6EN\VC98\INCLUDE;%INCLUDE%;
set msvc_root=F:\_H\VC++.6.0.with.SP6\VC++.6.0.with.SP6\VC6EN\VC98
set LIB=F:\_H\VC++.6.0.with.SP6\VC++.6.0.with.SP6\VC6EN\VC98\LIB;%LIB%;
set visualc=F:\_H\VC++.6.0.with.SP6\VC++.6.0.with.SP6\VC6EN\VC98
运行
cl 可以看到1988-1998字样
nmake 可以看到1984-1998字样
就说明调用的是VC6的命令了.
其次,bjam默认官方提供的是vc9版本的,而我们需要vc6的,因此需要自行编译 这里我解压到E:\boost_1_45_0\目录
修改 E:\boost_1_45_0\tools\build\v2\engine\src\build.dat
分析可以看到代码从上到下有个检测顺序,先找到哪个用哪个,所以如果混装了VS2008,VS2003,VC6的,就会被优先使用VS2008编译
那么这里我们需要修改
if EXIST "%ProgramFiles%\Microsoft Visual C++\VC98\bin\VCVARS32.BAT" (
set "BOOST_JAM_TOOLSET=msvc"
set "BOOST_JAM_TOOLSET_ROOT=%ProgramFiles%\Microsoft Visual C++\VC98\"
goto :eof)
call :Clear_Error
移动到
if NOT "_%VS100COMNTOOLS%_" == "__" (
set "BOOST_JAM_TOOLSET=vc10"
set "BOOST_JAM_TOOLSET_ROOT=%VS100COMNTOOLS%..\..\VC\"
goto :eof)
call :Clear_Error
前面一排
并且修改为
if EXIST "F:\_H\VC++.6.0.with.SP6\VC++.6.0.with.SP6\VC6EN\VC98\bin\VCVARS32.BAT" (
set "BOOST_JAM_TOOLSET=msvc"
set "BOOST_JAM_TOOLSET_ROOT=F:\_H\VC++.6.0.with.SP6\VC++.6.0.with.SP6\VC6EN\VC98\"
goto :eof)
call :Clear_Error
执行build.bat,产生一个子文件夹“bin.ntx86”,里面有个可执行文件"bjam.exe",拷贝到boost_1_45_0根目录,和bootstrap.bat同目录.
修改 E:\boost_1_45_0\tools\build\v2\user-config.jam里面的msvc config 将
# using msvc ;
改为
# using msvc : 6.0 ;
接下来编译安装boost库.
首先运行bootstrap
然后
全编译
bjam --build-dir=D:\boost145 --toolset=msvc --link=static --build-type=complete stage
部分编译
bjam --build-dir=D:\boost1_45 --toolset=msvc debug release --with-regex
这个是windows命令
linux下把--build-dir改为--prefix
以上参数意思是安装到D盘,调用环境为msvc编译器 静态链接(发布之后不需要带DLL库) 完整编译所有库
具体参数可以参考 http://www.boost.org/boost-build2/doc/html/bbv2/advanced/invocation.html
....
....
....
漫长的等待.推荐把任务管理器打开,然后最小化到右下角的快速任务栏,这样可以看到CPU变化,如果一直没怎么变就说明编译完了,然后同时可以看电影...30分钟过后...
boost145目录里面建立文件夹 lib 搜索boost145文件夹将所有*.dll和*.lib拷贝到lib文件夹中
然后再建立个include文件夹,将源解压包里面的