说明

CGAL是一个C++计算几何算法库,官方安装说明:https://doc.cgal.org/latest/Manual/windows.html
我的配置是win10+vs2019,已安装有CMake。

下载安装boost

CGAL依赖于boost库,因此需要先安装boost,二进制boost下载地址:https://sourceforge.net/projects/boost/files/boost-binaries/
根据官网说明选择1.17.0版本即可,然后下载具体版本根据vs版本和位数来选择,14.0对应VC2015,14.1对应VC2017,14.2对应VC2019,因此我选择boost_1_71_0-msvc-14.2-64.exe下载即可。
下载解压到硬盘,比如解压到C:dev目录下,然后设置环境变量。

  • BOOST_LIBRARYDIR = C:devlibboost_1_71_0lib64-msvc-XX.Y
  • BOOST_INCLUDEDIR = C:devlibboost_1_71_0


最后将C:\dev\libboost_1_71_0\lib64-msvc-XX.Y添加到系统环境变量PATH中。


自己编译

如果不直接下载二进制文件,自己来编译也是可以的(我刚开始就这么干的(ー_ー)!!)
下载解压boost源文件:https://sourceforge.net/projects/boost/files/boost-binaries/
解压过程比较慢,解压后得到一堆文件,运行解压目录下的bootstrap.bat文件进行编译。
第一次运行会报下面的错误:

'cl' 不是内部或外部命令,也不是可运行的程序或批处理文件。

解决方法是将C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\bin\Hostx64\x64添加到系统变量,然后运行vs的命令行工具x64 Native Tools Command Prompt for VS 2019(用系统的命令行会报错),这个命令行不能直接cd切到另一个盘符下,需要先输入d:切换盘符才行。
然后cd d:\boost\boost_1_66_0切换到文件目录,输入bootstrap.bat运行,然后目录下就会生成几个文件,其中有个b2.exe,直接运行会报错。
解决方法是打开project-config.jam,修改为

import option ; 
 
using msvc : 16.0 : "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\bin\Hostx64\x64\c1.exe"; 
 
option.set keep-going : false ; 

然后输入b2.exe --with-system --with-thread进行编译,不带后面参数会编译所有库,相当费时间,只编译需要的库就好。
编译好的lib库在"/stage/lib"下,将根目录和lib目录添加到系统变量。

下载安装CGAL

从github上下载CGAL-5.0.2-Setup.exe:https://github.com/CGAL/cgal/releases
点击安装,安装到最后应该会有一个弹窗提醒手动设置环境变量,那就将C:\dev\CGAL-5.0.2\auxiliary\gmp\lib添加到环境变量PATH中。

其他可选依赖

Qt

下载地址:https://www.qt.io/offline-installershttp://download.qt.io/official_releases/
安装时勾选MSVC2017的编译器和Qt Script(有些demo可能会用到),如果硬盘够大的话,把下面几个Qt都勾了也没什么不好。如果现在不勾选,后面再想安装就会很麻烦,具体方法可以自行百度。

完成后添加QTDIR的系统变量,路径为根目录C:\Qt\Qt5.12.8,然后添加之前勾选的编译器系统坏境路径C:\Qt\Qt5.12.8\5.12.8\msvc2017_64\binPATH中。

Eigen

下载地址:http://eigen.tuxfamily.org/index.php?title=Main_Page

Cmake编译运行

然后我们按照官网上的说明进入examplesTriangulation_2目录,新建一个build文件夹,然后启动Cmake,设置源文件夹和输出文件夹,如果用下面的命令行启动的话会自动设置好。

C:\dev\CGAL-5.0.2> cd examples\Triangulation_2
C:\dev\CGAL-5.0.2\examples\Triangulation_2> mkdir build
C:\dev\CGAL-5.0.2\examples\Triangulation_2> cd build
C:\dev\CGAL-5.0.2\examples\Triangulation_2\build> cmake-gui ..


点击左下角Configure进行配置,一般要点两次。

继续点击Generate

生成成功的话在build目录下会生成Triangulation_2_Examples.sln文件,点击打开或者点击Open Project也可以直接打开,在vs里生成不报错应该就没问题。
但是直接点击(ctrl)F5会报错无法启动程序,那是因为当前项目是CMake自动生成的ALL_BUILD,需要将别的项目切换为当前项目(不会用vs的我被这个给坑了好久。。。)


官网上面是一个编译了一个三角剖分Triangulation的example,运行起来没有什么意思。
其实我们可以对CGAL里的任何一个demo或者example进行编译,当然也可以对整个CGAL文件夹或demo/examples文件夹进行编译,只要文件夹下有CMakeLists.txt文件就能被CMake编译,不过整个编译文件夹容易出错,因为包含了更多的库,可能这些库我们并没有装全,而且全部编译后的工程文件太大对电脑性能要求也更高。
下面是编译demo文件夹后,运行P4HDT2的界面。

参考

https://blog.csdn.net/u013094443/article/details/51106015
https://blog.csdn.net/s_lisheng/article/details/72871218
https://zhuanlan.zhihu.com/p/99814130

最后修改:2020 年 06 月 04 日
你的赞赏是我前进的动力