CGAL依赖boost库,boost库需要利用gcc进行编译,所以在windows条件下需要首先安装gcc编译环境(也可能不需要,因为后面的boost编译命令中toolset用的是mscv,不过目前记录的是我的安装过程,是在MSYS2中编译的),我采用的是MSYS2配置gcc编译环境。
一、MSYS2
MSYS2的相关内容可以参考这个视频。
二、boost
配置好gcc编译环境以后下载boost,官方下载地址,进入后可以选择合适的版本下载,我选择的是老版本1.66,在“Old Boost Releases”中选择“ version history”
进入老版本下载页面,在你选择的版本处点击“Release Notes”
点击“Release Notes”后会进入下载页面,这里面最方便的是选择“Windows Binaries”,(也可以直接点击链接进入Windows Binaries)这是编译好的版本,可以像安装程序一样安装boost,由于我用的是VS2015,所以选择的是“boost_1_66_0-msvc-14.0-64.exe”,点击即可下载,下载后双击安装。这里的安装实际上就是一个解压的过程,后面还需要编译和配置boost。在MSYS2中进入你安装boost的文件夹执行bootstrap.bat
会在安装目录中生成b2.exe和bjam.exe这两个文件功能相同,都是用来编译boost库的,用哪个都可以,编译命令中可以输入一些参数这些参数的含义如下:
(1)stage/install:stage表示只生成库(dll和lib),install还会生成包含头文件的include目录。
(2)toolset:指定编译器,可选的如borland、gcc、msvc(VC6)、msvc-9.0(VS2008)、msvc-12.0(VS2013)等。
(3)without/with:选择不编译/编译哪些库。根据各人需要进行选择,默认是全部编译。如果选择编译python的话,是需要python语言支持。
(4)stagedir/prefix:stage时使用stagedir,install时使用prefix,表示编译生成文件的路径。
(5)build-dir:编译生成的中间文件的路径。
(6)link:生成动态链接库/静态链接库。生成动态链接库需使用shared方式,生成静态链接库需使用static方式。一般boost库可能都是以static方式编译,因为最终发布程序带着boost的dll感觉会比较累赘。
(7)runtime-link:动态/静态链接C/C++运行时库。同样有shared和static两种方式,这样runtime-link和link一共可以产生4种组合方式。
(8)threading:单/多线程编译。一般都写多线程程序,当然要指定multi方式了;如果需要编写单线程程序,那么还需要编译单线程库,可以使用single方式。
(9)debug/release:编译debug/release版本。一般都是程序的debug版本对应库的debug版本,所以两个都编译。
由于CGAL只使用了system、thread两个库,所以我只编译了这两个库,在MSYS2的命令行中输入:bjam install stage --toolset=msvc-14.0 --with-system --with-thread --stagedir=“G:\software\boost_1_66_0\bin\vc14-32” link=shared runtime-link=shared threading=multi debug release 。
注意:
修改–toolset=msvc-14.0,将14.0修改成对应的vs版本号,14.0是VS2015的版本号。
目标地址也要修改成你所需的。
不要漏了install,它会帮你把头文件集合到一个文件夹中。 编译过程有一个复制过程,编译需要的时间比较长,本次编译过程中,会在C盘根目录下生成一个boost文件夹,然后包含include和lib文件夹,这就是我们将要使用的头文件和库文件。
然后配置系统环境
打开:右键点击“此电脑”->属性->高级系统设置->环境变量->系统变量,在系统变量中填入如下图所示的3项:
并且在系统变量中的“path”项中加入:
至此boost安装配置完毕。
三、CGAL
CGAL的版本与VS的版本要匹配才能编译,之前由于下载的CGAL与VS2015版本不匹配编译不成功,我以为是我配置的有问题,费了很大精力,最后重新下了匹配的版本才成功。我这里用的是CGAL4.9与VS2015匹配。
CGAL下载地址,选择合适的版本,我选择的是“CGAL-4.9-Setup.exe”,也是可以双击安装的,不过这个安装也只是解压缩,后面还需要编译和配置。
安装过程
我选择的是32位
安装完成后可能提示你环境变量设置没有成功,这时需要手动设置环境变量:
“path”中要添加gmp库的路径
生成CGAL项目,使用cmake
生成成功后在目标文件夹中看到生成的VS2015项目
用VS2015打开
然后编译生成CGAL库。
四、配置CGAL库
右键点击“此电脑”->属性->高级系统设置->环境变量->系统变量,在path中添加CGAL库路径
五、CGAL库的使用
在VS2015中新建项目,包含目录设置如下:
库目录设置如下:
附加依赖项设置:位置是:配置属性–链接器–输入–附加依赖项,设置如下
两个lib文件的地址在:H:\Baiduyun\Program\CGAL\CGAL_4.9\auxiliary\gmp\lib
至此,项目设置完成。可以将CGAL安装目录中examples文件夹中的文件加入项目中
编译,成功
自己的程序在运行时需要CGAL的dll文件要保证他们在同一个文件夹中。