windows下boost怎样安装与使用说明

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了windows下boost怎样安装与使用说明相关的知识,希望对你有一定的参考价值。

参考技术A 1. 概述

最近打算学习一下Boost库,这里记录一下Boost库的安装的方法,IDE涉及DEV C++和VS 2008。

2. 下载

直接下载链接:参见网页 http://www.boost.org/users/history/version_1_46_1.html,这里的链接网速很慢,78MB的东西,下载了10%左右,就定住了,试了三次都是这样,基本放弃了这个下载链接。
SVN下载链接,文件保存在“D:\Boost”下:参见网页 http://www.boost.org/users/download/,有一定速度,下载使用了49分钟,传了115.99MB,版本为1.47,我看了下下载的文件夹,吓了我一跳:文件夹大小501MB,占用空间3.15GB。赶紧去网上查了下,有的人说对于1.46版本的Boost,如果完全编译后,可能需要12-15GB的空间,这样就不奇怪了,虽然还没编译就占了3GB。

3. VS2008 Boost库编译(-vc9)

首先,编译bjam,在命令行下,运行bootstrap.bat -vc9
然后,编译库。在命令行下,运行:

bjam stage --toolset=msvc-9.0 --without-graph --without-graph_parallel --without-math --without-mpi --without-python --without-serialization --without-wave --stagedir="D:\Boost\bin\vc9" link=static runtime-link=shared threading=multi debug release
bjam stage --toolset=msvc-9.0 --without-graph --without-graph_parallel --without-math --without-mpi --without-python --without-serialization --without-wave --stagedir="D:\Boost\bin\vc9" link=static runtime-link=static threading=multi debug release
编译用了50分钟左右,产生了303MB的文件。

4. VS2008 Boost库配置

Tools -> Options -> Projects and Solutions -> VC++ Directories
在Library files中,增加D:\Boost\bin\vc9\lib
在Include files中,增加D:\Boost\
其中,Library的目录就是前面编译产生的那些库文件保存到的位置
  其中,Include的目录随着Boost的不同版本会不同,现在1.47版本只要指定为D:\Boost即使用SVN下载Boost的文件夹就可以了。

5. VS2008 Boost库测试

View Code
6. DEV C++ Boost库编译

首先,设置gcc的环境变量。在我的电脑上点击右键,选择Properties菜单项。然后在弹出的对话框中选择Advanced页,点击Environment Variables按钮。之后进行如下设置,选择PATH,然后点击Edit按钮,在最后加上DEV-C++编译器的路径,如C:\Program Files\DEV-CPP\Bin,路径之间用分号分隔。 设置完毕点击OK按钮保存。
然后,编译bjam,运行bootstrap.bat -gcc
接着,编译boost库:

bjam stage --toolset=gcc --without-graph --without-graph_parallel --without-math --without-mpi --without-python --without-serialization --without-wave --stagedir="D:\Boost\bin\gcc" link=static runtime-link=shared threading=multi debug release
bjam stage --toolset=gcc --without-graph --without-graph_parallel --without-math --without-mpi --without-python --without-serialization --without-wave --stagedir="D:\Boost\bin\gcc" link=static runtime-link=static threading=multi debug release
7. DEV C++ Boost库配置

在Toos->Compiler Options->Directories->C++ Include中,增加D:\Boost
8. DEV C++ Boost库测试

第一种,只要包含该头文件即可,就能使用该头文件中的所有函数。

View Code
第二种,需要建立一个project,而不能只是编译单个的c++文件,因为在dev c++中,只有在project中才能设置linker的参数。 建立project后,“Project"-->"Project Options"-->"Parameters"选项卡--->在linker框中添加:"-lboost_regex-mt",告诉linker在链接的时候,链接regex库。

View Code
9. 参考文献

Boost下载安装编译配置使用指南(含Windows和Linux) http://kb.cnblogs.com/a/1485890/
VS2008中编译Boost 1.38 http://blog.csdn.net/wrx_2009/archive/2009/06/04/4242841.aspx
VS2008 Team System 安装Boost库 http://www.cookbus.com/show-121-1.html
boost在DevC++中的安装过程 http://blog.csdn.net/suwei19870312/archive/2011/03/13/6246400.aspx

Windows下使用CGAL-5.3.1(下载安装VS属性表配置)+ 测试代码

文章目录

1 CGAL概述

计算几何算法库(Computational Geometry Algorithms Library,CGAL)是一个C++算法库,提供了高效和可靠的几何算法。

CGAL提供了许多数据结构和算法,如三角剖分(triangulations)、Voronoi图(Voronoi diagrams)、多边形(Polygons)、单元复合体和多面体(Cell Complexes and Polyhedra)、曲线排列(arrangements of curves)、网格生成(mesh generation)、几何处理(geometry processing)、凸包算法(convex hull algorithms)等等。

所有这些数据结构和算法都对点和线段等几何对象进行操作,并对它们进行几何测试。这些对象和谓词在CGAL内核(CGAL Kernels)中重新组合。

最后,支持库(Support Library)提供几何对象生成器和空间排序功能,以及矩阵搜索框架和线性和二次规划的解算器。它还提供与第三方软件(如GUI库Qt、Geomview和Boost图形库)的接口。

2 从源文档(Source Archive)中安装CGAL

2.1 CGAL下载

CGAL-5.3.1.zip下载地址:https://github.com/CGAL/cgal/releases

将下载的CGAL-5.3.1.zip解压缩,并放在某一路径下,这里放在以下路径

D:\\Program Files\\CGAL-5.3.1

2.2 GMP和MPRF安装

Assets中提供了GMP和MPFR的预编译版本,适用于Windows 64位。如果我们安装这些库只是为了使用CGAL,那么应将CGAL-5.3.1-win64-auxiliary-libraries-gmp-mpfr.zip文件解压,然后将其中的auxiliary文件夹加拷贝到CGAL-5.3.1的解压目录下。

由于CGAL-5.3.1目录下已经包含了auxiliary文件夹,这里直接替换即可。

2.3 boost安装与环境变量设置

2.3.1 boost安装

Boost是CGAL的强制依赖项。SourceForge上提供了Boost的二进制版本(此版本无须编译,可直接使用)。Boost安装程序会同时安装Boost头文件和预编译库。CGAL 5.3.1发布时,Boost的最新版本是1.71(截止到2022年1月20日,Boost的最新版本为1.78.0)。

VS与boost的版本对应关系
VSboost
vs2015boost-msvc-14.0
vs2017boost-msvc-14.1
vs2019boost-msvc-14.2

以VS2017安装Boost1.78.0为例,进行boost的安装,步骤如下:

1)下载并运行boost_1_78_0-msvc-14.1-64.exe文件,选择安装目录

2)点击Next>,进行安装…

3)单击Finish,完成安装。

2.3.2 环境变量设置

打开控制面板,搜索“高级”,选择“系统”下的“查看高级系统设置


选择“环境变量

如果想要对该用户设置,选择在用户变量中新建;如果要对所有用户都有效,选择系统变量。

两种选择,操作相同。下面以“用户变量”为例:

在用户变量下选择“新建”,弹出“新建用户变量”对话框

依次设置变量名变量值

BOOST_LIBRARYDIR = D:\\Program Files\\libboost_1_78_0\\lib64-msvc-14.1

BOOST_INCLUDEDIR = D:\\Program Files\\libboost_1_78_0

最后,将boost dll文件的路径(以你自己的路径为准)添加到path环境变量中:双击“用户变量”中的“Path”,弹出“编辑环境变量对话框

单击“新建”,粘贴boost dll文件的路径

D:\\Program Files\\boost_1_78_0\\lib64-msvc-14.1

3 VS属性表配置

1)打开vs2017点击左上角“文件->新建->新建项目->空项目”

2)选择“属性管理器->Debug | x64”,右键“添加新项目属性表”(一劳永逸,以后创建新项目时直接调用即可,不必重新配置)

3)双击新建好的属性表,添加包含目录

将以下路径添加到“通用属性->VC++ 目录->包含目录”中

D:\\Program Files\\CGAL-5.3.1\\include
D:\\Program Files\\CGAL-5.3.1\\auxiliary\\gmp\\include
D:\\Program Files\\boost_1_78_0


4)添加库目录

将以下路径添加到“通用属性->VC++ 目录->库目录”中

D:\\Program Files\\CGAL-5.3.1\\auxiliary\\gmp\\lib
D:\\Program Files\\boost_1_78_0\\libs


5)添加附加依赖项(D:\\Program Files\\CGAL-5.3.1\\auxiliary\\gmp\\lib下的lib文件)

将以下文件名粘贴到“通用属性->链接器->输入>附加依赖项”中

libgmp-10.lib
libmpfr-4.lib

4 测试代码

代码:

#include <iostream>
#include <CGAL/Simple_cartesian.h>		//笛卡尔坐标相关头文件

using namespace std;

typedef CGAL::Simple_cartesian<double> Kernel;
typedef Kernel::Point_2 Point_2;
typedef Kernel::Segment_2 Segment_2;

int main()

	//定义两个二维点
	Point_2 p(1, 1), q(10, 10);
	cout << "p = " << p << endl;
	cout << "q = " << q.x() << " " << q.y() << endl;
	
	//两点间的平方距离
	double sqDist_pq;				
	sqDist_pq = CGAL::squared_distance(p, q);
	cout << "->两点间的平方距离:"<< CGAL::squared_distance(p, q) << endl;

	//两点的中点
	cout << "->两点间的中点:" << CGAL::midpoint(p, q) << endl;

	//两点确定一条直线
	Segment_2 s(p, q);			
	Point_2 m(5, 9);
	cout << "m = " << m << endl;

	//点到直线的距离
	double sqDist_sm;			
	sqDist_sm = CGAL::squared_distance(s, m);
	cout << "->点到直线的距离" << sqDist_sm << endl;

	//判断三点的关系
	cout << "p, q, 和 m 三点的关系为:";
	switch (CGAL::orientation(p, q, m)) 
	
	case CGAL::COLLINEAR:
		cout << "三点共线\\n";
		break;
	case CGAL::LEFT_TURN:
		cout << "三点构成左转\\n";
		break;
	case CGAL::RIGHT_TURN:
		cout << "三点构成右转\\n";
		break;
	

	return 0;

输出结果:

p = 1 1
q = 10 10
->两点间的平方距离:162
->两点间的中点:5.5 5.5
m = 5 9
->点到直线的距离8
->p, q, 和 m 三点的关系为:三点构成左转

5 相关文件下载


点击此处按需自取–提取码:pdx6

以上是关于windows下boost怎样安装与使用说明的主要内容,如果未能解决你的问题,请参考以下文章

Windows下Boost库的安装与使用

vim 配置问题 :ctags 在windows 下怎样安装?

Windows下使用CGAL-5.3.1(下载安装VS属性表配置)+ 测试代码

Windows下怎样编译出可在Linux上执行的程序

windows下boost库的基本用法

解决CentOS下boost安装后不能使用的问题