CGAL在Windows安装的大部分信息可参考官网
http://www.cgal.org/download/windows.html
这里仅讲一些比较重要的但官网没有说的内容。
官网说,CGAL的32位版本可搭配编译器VS2010、VS2012、VS2013
CGAL的64位版本仅支持编译器VS2013
这里有必要说明一下,VS的版本不是越高越好的,因为CGAL等开源软件的开发速度可能会跟不上VS的更新速度。而CGAL当然首要的是关注自己的开发,而不会首先顾及要兼容VS的最新版本。当然,CGAL没有二进制发布版,使用需要编译,然而CGAL的编译也需要依赖第三方的库,这些库通常是有二进制发布版的,但这些发布版就不一定会有最新的VS编译版了。
因此,选择VS的时候,必须要看清楚CGAL支持哪些编译器再选择。
这里比较坑爹的是,现在CGAL的最新版本为4.10,然而由笔者的实践发现,4.10版的CGAL的某些demo竟然需要完全支持C++11的编译器才能编译。现在所有的VS包括最新的VS2017都不能完全支持C++11,更别说VS2010到VS2013了,浪费了大量的时间。
因此笔者用的CGAL版本为CGAL-4.9.1-Setup.exe。
注意,如果要编译64位CGAL的话,VS2013要Update5的更新版本才能正常编译所有demo。
Boost的版本为boost_1_64_0-msvc-10.0-32.exe
Qt的版本为qt-opensource-windows-x86-msvc2010_opengl-5.4.2.exe
libQGLViewer下载最新版本即可,笔者的为libQGLViewer-2.6.4。
之后只要按照官网设置环境变量和编译,CGAL的主体安装大底就没什么问题了。
下面讲讲demo的编译。
通过实践发现,demo的编译编译还需要一些库,例如TBB和eigen
TBB的官网为https://www.threadingbuildingblocks.org/download
最新的版本为4.4,然而4.4版不支持VS2010,故笔者下载4.3版
笔者的版本为tbb43_20150611oss
然后设置环境变量(变量值为笔者电脑的路径,读者应按照自己的路径填写)
变量名:TBBROOT变量值:D:\qt\tbb43_20150611oss
变量名Path添加变量值:D:\qt\tbb43_20150611oss\lib\ia32\vc10
Eigen的官网为http://eigen.tuxfamily.org/index.php?title=Main_Page
下载最新版即可,
笔者的版本为eigen-eigen-67e894c6cd8f
然后设置环境变量(变量值为笔者电脑的路径,读者应按照自己的路径填写)
变量名:EIGEN3_DIR变量值:D:\qt\eigen-eigen-67e894c6cd8f
然后就可以按照官网的叙述来编译demo
笔者选的demo为Polyhedron和它的插件Surface_mesh_deformation
打开Polyhedron.sln后,主要的生成的项目为Polyhedron_3、off_plugin和edit_polyhedron_plugin。
注意,笔者通过实践发现debug模式编译加载off_plugin发生错误,但release编译就能加载成功,因此直接用release编译好了。
然后从CGAL-4.9.1\examples\Surface_mesh_deformation\data找到模型plane.off。通过网站http://doc.cgal.org/latest/Surface_mesh_deformation/查看理论、代码和操作。