首页 > 系统相关 >如何在WINDOWS下编译BOOST C++库

如何在WINDOWS下编译BOOST C++库

时间:2023-01-27 12:32:22浏览次数:53  
标签:bat SET WINDOWS BOOST 35 编译 C++ boost OpenSource


如何在WINDOWS下编译BOOST C++


cheungmine


2008-6-25


 


写出来,怕自己以后忘记了,也为初学者参考。使用VC8.0和boost1.35.0。


 


1)下载boost



​http://www.boost.org/users/download/​


这是它的下载页面,需要下载2个东西:


Packaged Releases


VERSION 1.35.0



Boost Jam 3.1.16


 


你需要在每个条目下面找到Details | Download字样,点击Download,进入下载页。可是遗憾的是sourceforge站点被封了,所以通常你是无法下载的。(我诅咒封这个站点的人)。因此有必要使用某些特殊的工具来穿透这个封锁。我下载的是这个:


boost_1_35_0.tar.gz



boost-jam-3.1.16.zip


 


2)下载Python2.5.2



​http://www.python.org/download/​


在这个页面点击Python2.5.2 Windows Installer


得到一个Python2.5.2.msi后,即可点击安装。我安装在C:/OpenSource/Python25


创建一个批处理文件:pt.bat,内容如下:


set path=C:/OpenSource/Python25


Python


 


然后启用命令行工具(运行cmd.exe),进入pt.bat所在目录,键入pt.bat


如果你看到>>>的提示符号,说明python安装成功。


 


3)编译boost-jam



解压boost_1_35_0.tar.gz,到目录boost_1_35_0。我的是在C:/OpenSource/ boost_1_35_0。这样你在C:/OpenSource/ boost_1_35_0/下就能发现boost-build.jam这个文件。


 


解压boost-jam-3.1.16.zip,然后在目录下双击build.bat,即进行编译。编译结束,可以发现生成了bin.ntx86/bjam.exe。


我们要的就是这个bjam.exe,把它复制到boost_1_35_0目录下,在这个目录下有boost-build.jam文件。


 


4)完全编译boost_1_35_0



编译全部库。虽然你可以只编译一部分,但是还是全部编译,省的以后麻烦。为此你需要编写一个批处理文件,我命名它为boost.bat:


SET MSVC_ROOT="F:/Microsoft Visual Studio 8/VC"


SET VISUALC="F:/Microsoft Visual Studio 8/VC"


SET JAM_TOOLSET=VISUALC


SET PYTHON_ROOT=C:/OpenSource/Python25


SET PYTHON_VERSION=2.5.2


SET PATH=C:/OpenSource/boost_1_35_0


 


你要保证你的路径是正确设置的。然后把这个文件保存到C:/OpenSource下面。(其实位置不重要)。然后启用命令行工具(cmd)。类似地输入下面的命令(<Enter>表示回车):


C:/OpenSource>boost.bat<Enter>


C:/OpenSource>cd boost_1_35_0<Enter>


C:/OpenSource/boost_1_35_0>bjam -sBOOST_ROOT=. -sTOOLS=msvc<Enter>


 


然后你就等待吧。一大堆的警告是不要管的。估计等1小时不到的时间,就完全编译好了。你可以发现在C盘出现了:


C:/Boost


它下面有Include和Lib目录。你可以使用这个C:/Boost,使用它的静态或动态库。也可以使用C:/OpenSource/boost_1_35_0下的源代码。


 


5)结束也是开始BOOST之旅



好了,开始你的boost之旅吧。我用它的graph库实现了最短路径,整个上海的路网,4万多条路段,任意2点查询最短路径,不超过3秒就OK。内存消耗在30M左右。从此我喜欢上了boost。


最新的BOOST提供了C++和Python的接口,这也是我要用它的理由。一个简单的比喻,C++好比COM,Python好比JavaScript,如果你认为JavaScript调用COM可以产生强大的威力,是原子弹的话,那么Python调用C++则是氢弹。关于Boost.Python的知识,参考:


​http://www.cppblog.com/jinq0123/archive/2008/05/29/BuildingHybridSystemswithBoostPython_c.html​



当然,我还是觉得上述过程太复杂,在Windows上使用Boost,你可以完全忽略上面的过程,到下面这个链接里直接取得一个下载软件,它会给你下载你要的包:


​http://www.boostpro.com/products/free​


 

标签:bat,SET,WINDOWS,BOOST,35,编译,C++,boost,OpenSource
From: https://blog.51cto.com/mapaware/6024050

相关文章

  • windows2003 的安装以及安装时遇到的问题
    windows2003的安装以及安装时遇到的问题简介:WindowsServer2003是微软于2003年3月28日发布的基于WindowsXP/NT5.1开发的服务器操作系统,并在同年4月底上市。WindowsServ......
  • Windows下安装Miniconda及配置和简单使用
    一、下载Miniconda根据自己的需求下载Anaconda或者Miniconda。我这里选择轻量化的Miniconda。二、安装Miniconda根据安装程序提示,一直点击下一步即可。三、在......
  • leveldb在Windows和Linux上编译
    leveldb在Windows和Linux上编译 LevelDB是Google传奇工程师JeffDean和SanjayGhemawat开源的KV存储引擎(而非SQL),它是一种非关系型数据库。leveldb只有一层,即objects,也即key......
  • Windows上使用VSCode结合mingw编译和调试C程序
    Windows上使用VSCode结合mingw编译和调试C程序目标是在Win7上,用VSCode使用mingw调试C程序.要设置终端为bash.exe.Windows7已经安装了VSCode(及相关插件),MSYS64,......
  • 对于C/C++代码的一些建议之变量规范
    作为一名合格的码农,写代码的时候一定要知道自己在干什么什么是代码优化?为了让代码更易于理解?为了让团队协作更加便利?为了后续的修改工作不再那么频繁或者是复杂?主......
  • Piccolo中的C++语法
    很久没用C++了,趁着过年跟家鑫碰面,找了一些Piccolo上的看着难懂的C++语法请教他,记录一下。【文件名及后缀】之前一直都以为C++的所有文件都必须是.h或者.cpp为后缀,却到看......
  • C++类型擦除
    以线程池举例线程池需要接收要执行的任务,这些任务需要形成一个队列任务可以是函数,lambda,重载括号运算符的类那么在定义一个数组去保存这些任务该如何定义?classmy_thre......
  • C++Day12 虚拟继承内存布局测试
    测试一、虚继承与继承的区别1.1单个继承,不带虚函数1>classBsize(8):1>+---1>0|+---(baseclassA)1>0||_ia//4B1......
  • 快速幂c++
    是求(a^b)modp如果用暴力解法O(b)点击查看TLE代码c++#include<iostream>usingnamespacestd;intmain(){inta,b,p;longlongres=1;cin>>a>>b>......
  • C++可变参数模板
    template<class...T>voidf(T...args){cout<<sizeof...(args)<<endl;}sizeof...一整个是运算符可以通过递归或逗号表达式方式展开该参数包可以使用这种可......