学习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范例和demoGMP和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

运行程序后显示:
在这里插入图片描述
详细的意义后续学习。目前可以确定工程是可以编译并运行了。

(之后,如果要创建其他范例的工程,则就要再执行一遍本篇【创建一个范例工程】的步骤了)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值