CGAL 编译

版权声明:本文为博主原创文章,未经博主允许不得转载。如果对文章有意见,请留言,认为有帮助,请顶一下。我创建了一个QQ群“Vulkan编程指南”,群号616407254,点击链接加入群【Vulkan编程指南】:https://jq.qq.com/?_wv=1027&k=467WJmb, 欢迎反馈问题。Vulkan编程指南翻译系列可能不会再更新或者校对了,有兴趣的同学可以等试读版或者纸质版出版,等两个三月即可。 https://blog.csdn.net/cloudqiu/article/details/80228807
2018-05-07

  在Windows平台上,CGAL的编译还是很简单的。可以下载安装版本的cgal,它会自动的下载所依赖的第三方lib。那么在build时就不需要自行编译第三方的lib了。如果想要从官方git仓库clone代码并build,那就复杂了。
  CGAL依赖于boost,我们可以选择boost位置。如果想要结合PCL使用,PCL默认使用static boost,所以,需要注意 CGAL_Boost_USE_STATIC_LIBS这个选项。经测试,这个选项勾选与否都没有关系。可能CGAL内部只是使用到了boost中 header only 的模块。
  算法本身与Qt没有关系,所以不需要勾选WITH_CGAL_Qt5。
  cmake正确的generate之后,需要把build/include/CGAL/compiler_config.h 文件copy到 源代码目录的include/CGAL/,不少lib都采取的这样的配置方式。
  可以打开VS进行编译了。因为CGAL本身大量代码都是模板,build CGAL本身所需的编译时间是相当短的,i7上只需要几秒。这是正确的。但是,在代码中引入CGAL的代码那可就不一样了,我只使用了一个函数,导致单个cpp文件编译时间增加了几倍。报出的warning也是一大堆。我看到的最长的一个CGAL模板类型长度竟然有2w个字符,真是令人震惊。
  CGAL依赖的gmp lib时一个数学库,用于任意精度的数学计算,支持有符号整数、实数、浮点数。MPFR lib是一个多精度计算的数学库。MPFR基于GMP lib。复杂数学计算中,我们平常不关注的精度问题变成了最大的问题之一。

  1. https://gmplib.org/
  2. http://www.mpfr.org/

如果有任何意见,欢迎留言讨论。 


[ 主页 ]

猜你喜欢

转载自blog.csdn.net/cloudqiu/article/details/80228807