最近需要用一下cgal,查看了目前csdn上的cgal安装相关博客,发现大多都是4.X版本的,而我在配置过程中发现这些4.X版本的博客不适合现在的5.X,所以我写这篇博客,希望能帮到大家学习计算几何
cgal官方manual
地址指路 这个文档中写的很明白了,我将按照2 Installing from the Source Archive中的步骤进行,此外有一点很重要,作者在1中写了这么句话:Note that CGAL is a header-only library, and there are therefore no lib or dll files for CGAL. 这就是4.X与5.X的区别
cgal下载 & GMP and MPFR安装
首先我们需要把cgal下载下来,放到一个地方 下载地址:https://github.com/CGAL/cgal/releases 在这个地址中也有gmp mpfr的安装包,下载后解压,我们需要把文件扔到CGAL-5.3\auxiliary\gmp中,注意保持目录结构不变
boost安装
在SourceForge下载boost相关版本,这个版本是跟你下载的cgal版本和你的编译器版本是挂钩的,注意你vs版本,这点在manual中说的很清楚。之后安装即可。 把 BOOST_LIBRARYDIR = C:\dev\libboost_1_71_0\lib64-msvc-XX.Y BOOST_INCLUDEDIR = C:\dev\libboost_1_71_0 加入系统变量 把 C:\dev\libboost_1_71_0\lib64-msvc-XX.Y 加入环境变量 (实测不加好像也行)(C:\dev换成你自己的安装目录)
ok
因为cgal是只有头文件就能用的,所以其实已经结束了,可以在cmake中编译一下cgal,不过我觉得应该没啥用 下面说一下怎么在vs中使用cgal
vs使用
首先我们找一段cgal的C++代码,比如cgal hello world,复制到我们的cpp中,我们会发现cgal的部分会变红,下面我们需要到项目的属性中进行配置。 我们先加include目录,在C++——常规中附加包含目录,加入 E:\boost_1_71_0 E:\CGAL-5.3\auxiliary\gmp\include E:\CGAL-5.3\include (记得换成自己的目录) 然后在链接器——常规中附加库目录,加入 E:\boost_1_71_0\lib64-msvc-14.2 E:\CGAL-5.3\auxiliary\gmp\lib 链接器——输入中附加依赖项,加入 libgmp-10.lib libmpfr-4.lib 忽略特定依赖库,加入 gmp-vc100-mt-gd.lib mpfr-vc100-mt-gd.lib (我不知道为什么要这么做,我只是看有的人这么做,我删掉好像没有影响) 完成这之后运行,你会发现缺少dll(libgmp-10.dll libmpfr-4.dll),我不知道为什么一定要去找dll,好像没有就是不行,欢迎大佬补充,这个解决方法有两种,一个是在属性——配置属性——调试——环境中把dll的路径加进去,另一个是把dll放到C:\Windows\System32下 这样应该没有问题了 为了cgal去下qt的都是憨憨
|