<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>CGAL on 醉后的星星</title><link>https://kizx.github.io/tags/cgal/</link><description>Recent content in CGAL on 醉后的星星</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><copyright>kizx</copyright><lastBuildDate>Mon, 25 May 2020 18:11:00 +0000</lastBuildDate><atom:link href="https://kizx.github.io/tags/cgal/index.xml" rel="self" type="application/rss+xml"/><item><title>Windows编译安装CGAL</title><link>https://kizx.github.io/post/windows%E7%BC%96%E8%AF%91%E5%AE%89%E8%A3%85cgal/</link><pubDate>Mon, 25 May 2020 18:11:00 +0000</pubDate><guid>https://kizx.github.io/post/windows%E7%BC%96%E8%AF%91%E5%AE%89%E8%A3%85cgal/</guid><description>&lt;p>CGAL是一个C++计算几何算法库，官方安装说明：https://doc.cgal.org/latest/Manual/windows.html
我的配置是win10+vs2019，已安装有CMake。
[button color=&amp;ldquo;success&amp;rdquo; icon=&amp;ldquo;fa fa-download&amp;rdquo; url=&amp;ldquo;https://pan.2bboy.com/Public/Software/CGAL/&amp;rdquo; type=&amp;quot;&amp;quot;]我用到的所有安装文件[/button]&lt;/p>
&lt;h2 id="下载安装boost">&lt;a href="#%e4%b8%8b%e8%bd%bd%e5%ae%89%e8%a3%85boost" class="header-anchor">&lt;/a>下载安装boost
&lt;/h2>&lt;p>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\目录下，然后设置环境变量。&lt;/p>
&lt;blockquote>
&lt;ul>
&lt;li>BOOST_LIBRARYDIR = C:\dev\libboost_1_71_0\lib64-msvc-XX.Y&lt;/li>
&lt;li>BOOST_INCLUDEDIR = C:\dev\libboost_1_71_0&lt;/li>
&lt;/ul>&lt;/blockquote>
&lt;p>&lt;img src="https://pan.2bboy.com/img/2020/05/0526010253.png"
loading="lazy"
>
最后将&lt;code>C:\dev\libboost_1_71_0\lib64-msvc-XX.Y&lt;/code>添加到系统环境变量&lt;code>PATH&lt;/code>中。&lt;/p>
&lt;hr>
&lt;h3 id="自己编译">&lt;a href="#%e8%87%aa%e5%b7%b1%e7%bc%96%e8%af%91" class="header-anchor">&lt;/a>自己编译
&lt;/h3>&lt;p>如果不直接下载二进制文件，自己来编译也是可以的（我刚开始就这么干的(ー_ー)!!）
下载解压boost源文件：https://sourceforge.net/projects/boost/files/boost-binaries/
解压过程比较慢，解压后得到一堆文件，运行解压目录下的bootstrap.bat文件进行编译。
第一次运行会报下面的错误：&lt;/p>
&lt;pre tabindex="0">&lt;code>&amp;#39;cl&amp;#39; 不是内部或外部命令，也不是可运行的程序或批处理文件。
&lt;/code>&lt;/pre>&lt;p>解决方法是将&lt;code>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\bin\Hostx64\x64&lt;/code>添加到系统变量，然后运行vs的命令行工具&lt;code>x64 Native Tools Command Prompt for VS 2019&lt;/code>(用系统的命令行会报错)，这个命令行不能直接cd切到另一个盘符下，需要先输入&lt;code>d:&lt;/code>切换盘符才行。
然后&lt;code>cd d:\boost\boost_1_66_0&lt;/code>切换到文件目录，输入&lt;code>bootstrap.bat&lt;/code>运行，然后目录下就会生成几个文件，其中有个b2.exe，直接运行会报错。
解决方法是打开&lt;code>project-config.jam&lt;/code>，修改为&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-txt" data-lang="txt">&lt;span style="display:flex;">&lt;span>import option ;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>using msvc : 16.0 : &amp;#34;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\bin\Hostx64\x64\c1.exe&amp;#34;;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>option.set keep-going : false ;
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>然后输入&lt;code>b2.exe --with-system --with-thread&lt;/code>进行编译，不带后面参数会编译所有库，相当费时间，只编译需要的库就好。
编译好的lib库在&amp;quot;/stage/lib&amp;quot;下，将根目录和lib目录添加到系统变量。&lt;/p>
&lt;h2 id="下载安装cgal">&lt;a href="#%e4%b8%8b%e8%bd%bd%e5%ae%89%e8%a3%85cgal" class="header-anchor">&lt;/a>下载安装CGAL
&lt;/h2>&lt;p>从github上下载CGAL-5.0.2-Setup.exe：https://github.com/CGAL/cgal/releases
点击安装，安装到最后应该会有一个弹窗提醒手动设置环境变量，那就将&lt;code>C:\dev\CGAL-5.0.2\auxiliary\gmp\lib&lt;/code>添加到环境变量&lt;code>PATH&lt;/code>中。&lt;/p>
&lt;h2 id="其他可选依赖">&lt;a href="#%e5%85%b6%e4%bb%96%e5%8f%af%e9%80%89%e4%be%9d%e8%b5%96" class="header-anchor">&lt;/a>其他可选依赖
&lt;/h2>&lt;h3 id="qt">&lt;a href="#qt" class="header-anchor">&lt;/a>Qt
&lt;/h3>&lt;p>下载地址：https://www.qt.io/offline-installers 或 &lt;a class="link" href="http://download.qt.io/official_releases/" target="_blank" rel="noopener"
>http://download.qt.io/official_releases/&lt;/a>
安装时勾选MSVC2017的编译器和Qt Script(有些demo可能会用到)，如果硬盘够大的话，把下面几个Qt都勾了也没什么不好。如果现在不勾选，后面再想安装就会很麻烦，具体方法可以自行百度。
&lt;img src="https://pan.2bboy.com/img/2020/05/0526224650.png"
loading="lazy"
>
完成后添加&lt;code>QTDIR&lt;/code>的系统变量，路径为根目录&lt;code>C:\Qt\Qt5.12.8&lt;/code>，然后添加之前勾选的编译器系统坏境路径&lt;code>C:\Qt\Qt5.12.8\5.12.8\msvc2017_64\bin&lt;/code>到&lt;code>PATH&lt;/code>中。&lt;/p>
&lt;h3 id="eigen">&lt;a href="#eigen" class="header-anchor">&lt;/a>Eigen
&lt;/h3>&lt;p>下载地址：http://eigen.tuxfamily.org/index.php?title=Main_Page&lt;/p>
&lt;h2 id="cmake编译运行">&lt;a href="#cmake%e7%bc%96%e8%af%91%e8%bf%90%e8%a1%8c" class="header-anchor">&lt;/a>Cmake编译运行
&lt;/h2>&lt;p>然后我们按照官网上的说明进入examples\Triangulation_2目录，新建一个build文件夹，然后启动Cmake，设置源文件夹和输出文件夹，如果用下面的命令行启动的话会自动设置好。&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-cmd" data-lang="cmd">&lt;span style="display:flex;">&lt;span>C:\dev\CGAL-5.0.2&lt;span style="color:#75715e">&amp;gt; cd examples\Triangulation_2&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>C:\dev\CGAL-5.0.2\examples\Triangulation_2&lt;span style="color:#75715e">&amp;gt; mkdir build&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>C:\dev\CGAL-5.0.2\examples\Triangulation_2&lt;span style="color:#75715e">&amp;gt; cd build&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>C:\dev\CGAL-5.0.2\examples\Triangulation_2\build&lt;span style="color:#75715e">&amp;gt; cmake-gui ..&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>&lt;img src="https://pan.2bboy.com/img/2020/05/0526015343.png"
loading="lazy"
>
点击左下角&lt;code>Configure&lt;/code>进行配置，一般要点两次。
&lt;img src="https://pan.2bboy.com/img/2020/05/0526015403.png"
loading="lazy"
>
继续点击&lt;code>Generate&lt;/code>。
&lt;img src="https://pan.2bboy.com/img/2020/05/0526013040.png"
loading="lazy"
>
生成成功的话在build目录下会生成&lt;code>Triangulation_2_Examples.sln&lt;/code>文件，点击打开或者点击&lt;code>Open Project&lt;/code>也可以直接打开，在vs里生成不报错应该就没问题。
但是直接点击(ctrl)F5会报错无法启动程序，那是因为当前项目是CMake自动生成的ALL_BUILD，需要将别的项目切换为当前项目（不会用vs的我被这个给坑了好久。。。）
&lt;img src="https://pan.2bboy.com/img/2020/05/0526214519.png"
loading="lazy"
>&lt;/p>
&lt;hr>
&lt;p>官网上面是一个编译了一个三角剖分Triangulation的example，运行起来没有什么意思。
其实我们可以对CGAL里的任何一个demo或者example进行编译，当然也可以对整个CGAL文件夹或demo/examples文件夹进行编译，只要文件夹下有CMakeLists.txt文件就能被CMake编译，不过整个编译文件夹容易出错，因为包含了更多的库，可能这些库我们并没有装全，而且全部编译后的工程文件太大对电脑性能要求也更高。
下面是编译demo文件夹后，运行P4HDT2的界面。
&lt;img src="https://pan.2bboy.com/img/2020/05/0526220507.png"
loading="lazy"
>&lt;/p>
&lt;h2 id="参考">&lt;a href="#%e5%8f%82%e8%80%83" class="header-anchor">&lt;/a>参考
&lt;/h2>&lt;p>&lt;a class="link" href="https://blog.csdn.net/u013094443/article/details/51106015" target="_blank" rel="noopener"
>https://blog.csdn.net/u013094443/article/details/51106015&lt;/a>
&lt;a class="link" href="https://blog.csdn.net/s_lisheng/article/details/72871218" target="_blank" rel="noopener"
>https://blog.csdn.net/s_lisheng/article/details/72871218&lt;/a>
&lt;a class="link" href="https://zhuanlan.zhihu.com/p/99814130" target="_blank" rel="noopener"
>https://zhuanlan.zhihu.com/p/99814130&lt;/a>&lt;/p></description></item></channel></rss>