本文主要是介绍学习CGAL:编译第一个工程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
前言
CGAL对现在的我来说是个新的东西,我对他的用法用途都一无所知。但从他的名字:The Computational Geometry Algorithms Library看起来,应该是和图形学算法相关的,因此我有很强的兴趣。
首先,我想跟着官方指引下载安装,并尝试运行起来第一个范例。
1.安装boost
CGAL强依赖于 Boost
,二进制库可以在SourceForge中找到。boost安装器会安装头文件和编译好的库,步骤如下
1.下载并运行安装器
例如安装boost版本是1.73,就对应boost_1_73_0-msvc-XX.Y-64.exe
,其中XX.Y = 14.0 意思是 VC 2015;XX.Y = 14.1 意思是 2017;XX.Y = 14.2 意思是 VC 2019。
2.选择一个合适的目录
例如我这里选择D:\dev\boost_1_73_0
3.添加环境变量:
库:
BOOST_LIBRARYDIR = D:\dev\boost_1_73_0\lib64-msvc-14.1
头文件:
BOOST_INCLUDEDIR = D:\dev\boost_1_73_0
dll:
PATH = D:\dev\boost_1_73_0\lib64-msvc-14.1
安装CGAL
1.下载
从https://github.com/CGAL/cgal/releases下载CGAL-[Version]-Setup.exe
。
2.安装
额外选择安装CGAL范例和demo;GMP和MPFR预编译库(暂时不是很理解);HTML手册。
选择一个安装路径
让它直接设置好环境变量:
不过我这里最后提示环境变量没有设置好,要我手动设置,于是我只能手动设置它了
创建一个范例工程
填好路径:
配置时选好VS版本,然后x64
:
之后点击Generate,生成了不少文件:
尝试运行
打开Triangulation_2_Examples.sln
选一个项目试试,我选了这个terrain项目
:
其中只有一个terrain.cpp
:
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
#include <CGAL/Projection_traits_xy_3.h>
#include <CGAL/Delaunay_triangulation_2.h>#include <fstream>typedef CGAL::Exact_predicates_inexact_constructions_kernel K;
typedef CGAL::Projection_traits_xy_3<K> Gt;
typedef CGAL::Delaunay_triangulation_2<Gt> Delaunay;typedef K::Point_3 Point;int main()
{std::ifstream in("data/terrain.cin");std::istream_iterator<Point> begin(in);std::istream_iterator<Point> end;Delaunay dt(begin, end);std::cout << dt.number_of_vertices() << std::endl;return 0;
}
好像是用data/terrain.cin
这个文件做输入,然后统计了些内容。
我看data
文件夹在D:\dev\CGAL-5.0.2\examples\Triangulation_2\
下,于是我将其拷贝到我的工程D:\dev\CGAL-5.0.2\examples\Triangulation_2\build
下。
然后我用记事本方式打开terrain.cin
看到:
1 2 3 1
4 5 6 1
1 2 3 1
7 8 9 1
3 5 6 1
7 8 3 1
9 6 7 1
5 6 3 1
4 3 8 1
5 5 8 1
7 4 2 1
运行程序后显示:
详细的意义后续学习。目前可以确定工程是可以编译并运行了。
(之后,如果要创建其他范例的工程,则就要再执行一遍本篇【创建一个范例工程】的步骤了)
这篇关于学习CGAL:编译第一个工程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!