CGAL编译与配置

article/2025/9/21 13:02:19

从来没有自己编译过第三方库,每次看到cmake上那些红色的错误就头疼,从来都是伸手党,不过这次没有要到编译好的CGAL,只能硬着头皮自己来。当编译完看到自己的例子跑通,才发现并没有想象中的复杂。

(此方法在win7和win10的64位电脑上都成功了)

(我安装的boost和CGAL都是32位的)


1. 使用CGAL必须要用的是Boost,CGAL,另外需要使用CMake来配置CGAL

2. 关于下载哪个版本的问题,直接将我的安装包截图吧:


   下载地址:
BOOST下载
CGAL下载
CMake下载
CGAL安装包:http://download.csdn.net/detail/u013094443/9485951 (这个是我自己上传的CGAL,上面列的是官网上的,都可以下载)
有文章中提到CGAL的例子只能使用Qt来运行,由于我的电脑上已经装了qt,所以这步直接跳过了,但有两点想说明:

(1).有文章提到不能使用qt5,所以就安装4.X版本的吧,我装的qt4.8.7;

(2).最终使用CGAL的工程用C++的控制台应用程序就好,没建qt工程也能跑起来

(下面的安装路径不要包含中文路径,养成习惯)

3.编译boost

(1)打开命令行窗口(win+R);

(2)输入cmd.exe,回车;

(3)将boost根目录下面的booststrap.bat文件直接拖到cmd.exe打开的界面并回车,运行结束后会产生b2.exe和bjam.exe,这里b2.exe是bjam.exe的新版本;(有的下载的是一个打包好的boost.exe,那么运行这个exe,在其安装目录下可以找到booststrap.bat文件;有的下载下来不是exe,那么解压下载的boost应该就能直接看到booststrap.bat文件)

(4)运行b2.exe;

(5)编译完成。

//****************************************************************************

昨天有人告诉我,这样编译boost会将boost依赖的十几个库全部编译,浪费时间和存储空间,实际上CGAL只需要用到其中的两个库:system和thread,所以下面这个截图说明了怎么只编译这两个库:


//*****************************************************************************


4.编译CGAL

(1)如果下载的是已经打包的CGAL.exe,运行这个exe,另外一种可能是下载的不是exe,那么直接解压就行了。两种方式得到的应该都是这样的文件:


(2)安装cmake,运行cmake-gui,进行设置:


其中"where is the source code"输入的就是(1)下载的文件的根目录,即(1)中图片文件所在根目录

       “Where to build the binaries”,自己新建一个一个文件夹,命个名就行,我的名字叫做CGAL4.7output。


(3).第二部设置好两个“Where。。。”之后先别动,在用户环境变量中添加环境变量设置:

BOOST_ROOT 或者BOOST_INCLUDEDIR:D:\ProgramFiles\boost_1_59_0  (包含bootstrap.bat的文件夹,比如我的是:D:\ProgramFiles\boost_1_59_0)

BOOST_LIBRARYDIR:D:\ProgramFiles\boost_1_59_0\lib32-msvc-10.0(有的说是这个路径:D:\ProgramFiles\boost_1_59_0\stage\lib ,不过我用这个路径已知报错,建议使用我的那个路径先试试,不行再换,不过添加环境变量之后,最好将计算机重启一下再进行下面的工作)


(4)在cmake-gui界面点击左下角:Configure;

(5)在第四步无错误的情况下,将下图的两个选项勾选上(这样可以得到CGAL的例子),然后点击Generate,完成后在你选择的输出路径下有一个CGAL.sln;


(6) 打开CGAL.sln,在Debug和Release模式下都运行一遍,会提示无法生成什么的,不用担心,只要下面那里显示的是成功5,失败0就好。


5.运行CGAL4.7output/example中的例子之前,我们还要将在系统环境变量的path中添加:

D:\ProgramFiles\boost_1_59_0\stage\lib;(这个我估计不用加)

D:\ProgramFiles\boost_1_59_0\lib32-msvc-10.0;

D:\ProgramFiles\CGAL4.7output\bin;

D:\ProgramFiles\CGAL-4.7\auxiliary\gmp\lib


6.打开D:\ProgramFiles\CGAL4.7output\examples下的任意例子,如Min_circle_2,应该就能跑起来了


7.当让这是运行编译生成的例子,如果我们需要自己建一个使用CGAL的工程,建立工程之后是需要配置的:


在项目名称上点击右键-》属性-》VC++目录:

(1)包含目录加入:
CGAL安装路径\include;CGAL安装路径\auxiliary\gmp\include;Boost安装路径;CGAL编译输出路径\include

(2)库目录加入:
CGAL输出目录\lib;CGAL安装路径\auxiliary\gmp\lib;Boost安装路径\stage\lib

(3)src:
CGAL安装路径\src

然后把官网上这个直线和线段求交的例子拷进去看看:

#include <CGAL/Exact_predicates_exact_constructions_kernel.h>
#include <CGAL/intersections.h>
typedef CGAL::Exact_predicates_exact_constructions_kernel K;
typedef K::Point_2 Point_2;
typedef K::Segment_2 Segment_2;
typedef K::Line_2 Line_2;
typedef K::Intersect_2 Intersect_2;
int main()
{Segment_2 seg(Point_2(0,0), Point_2(2,2));Line_2 lin(1,-1,0);CGAL::cpp11::result_of<Intersect_2(Segment_2, Line_2)>::typeresult = intersection(seg, lin);if (result) {if (const Segment_2* s = boost::get<Segment_2>(&*result)) {std::cout << *s << std::endl;} else {const Point_2* p = boost::get<Point_2 >(&*result);std::cout << *p << std::endl;}}return 0;
}

参考资料:

(1)CGAL在win7+VS2010的安装:http://blog.sina.com.cn/s/blog_6f3306c40101ajbj.html

(2)Win8.1 x64 + VS2013 下CGAL安装及配置:http://www.ithao123.cn/content-8025858.html


http://chatgpt.dhexx.cn/article/BtDVImqy.shtml

相关文章

CGAL的使用

1 C++类的知识 因为CGAL是用C++实现的,所以需要先了解一下C++编程。C++是面向对象的编程,这也是C++对C语言改进的最重要的部分。C++也被叫做是"带类的 C"。简单讲一下类的构成,成员函数以及对象的定义和使用。 1.1 C++类的构成 首先从C的结构体说起。C中的结构体我想…

cgal配置以及一些资料

Win7下VS2008编译CGAL3.9 &#xff08;转&#xff1a;http://blog.csdn.net/wsh6759/article/details/6977847&#xff09; CGAL是比较经典的计算几何库&#xff0c;算法经典&#xff0c;稳定高效。 本文介绍编译CGAl情况&#xff0c; 前期准备&#xff1a; BOOST&#x…

CGAL学习记录

CGAL学习记录 前言CGAL 介绍CGAL Linux安装CGAL Windos安装CGAL 安装错误及解决办法CGAL 安装后测试CGAL I/O读写 FunctionsCGAL OFF数据格式CGAL OFF STL相互转换CGAL 表面细化CGAL 表面平滑CGAL 表面补洞CGAL 自相交检测CGAL 提取中心线 前言 原先使用vtk有些小地方不是很理…

CGAL Cookbook --CGAL简介

##前言 ## 接触CGAL已经有半年了&#xff0c;从最初的厌恶&#xff08;对于一个初学者来说&#xff0c;CGAL确实有点难度&#xff0c;它要求初学者有一定基础&#xff09;到后来的喜欢。现在觉得CGAL简直完美极了&#xff0c;虽然它存在一些BUG但是这并不妨碍我爱上CGAL。它的…

[CGAL] CGAL的编译与使用

文章目录 方法一&#xff1a;自己安装依赖库安装Boost安装CGAL安装Qt编译示例在VS中使用CGAL库引用boost引用gmp引用CGALHelloworld 报错处理在cmake配置时报错&#xff1a;未能找到Boost编译示例&#xff0c;未找到GMP编译Mesh_3例子报错&#xff1a;未能找到Eigen3编译demo/P…

CGAL学习之路(三):CGAL读写点云

文章目录 1 CGAL创建点云1.1 insert方式1.2 迭代器方式 2 CGAL读点云2.1 读取XYZ点云2.2 读取PLY点云2.3 ifstream读取XYZ \ PLY点云 3 CGAL输出点坐标3.1 输出点云所有坐标3.2 输出某一点的坐标3.3 输出XYZ坐标 4 CGAL保存点云&#xff08;XYZ | PLY&#xff09;5 添加法向量字…

【C++】CGAL学习笔记

一、HELLO WORLD 1. 官方文档&#xff1a;CGAL-TUTORIALS 2. 所有CGAL头文件都在子目录中。所有CGAL类和函数都在命名空间中。类以大写字母开头&#xff0c;全局函数以小写字母开头&#xff0c;常量全部大写。 3. 几何图元&#xff0c;如点、线等都定义在内核Kernel中 #inc…

自动化测试方案设计和实现

编辑推荐: 本文主要介绍了几种测试类型需求&#xff0c;以及自动化测试方案设计和实现&#xff0c;希望对您的学习有所帮助。 本文来自于知乎&#xff0c;由火龙果软件Alice编辑、推荐。 如果对软件测试、接口、自动化、性能测试、测试开发、面试经验交流。感兴趣可以8101198…

测试方案模板

&#xff08;iwebshop项目&#xff09;测试方案 &#xff08;仅供参考&#xff09; 文档版本控制 文档版本号 日期 作者 审核人 说明 V1.0 2017/11/24 陈.. 创建文档 1. 概述 【软件的错误是不可避免的&#xff0c;所以必须经过严格的测试。通过对…

测试方案/测试计划/测试报告,经常弄混要怎么区分?

目录 前言 1、测试方案和测试计划的区别 2、测试方案和测试计划什么时候编写 3、测试方案 4、测试计划 5、测试报告 前言 测试方案和测试计划&#xff0c;测试报告几乎都是每个测试人员都必须掌握的。但有时经常搞混&#xff0c;特别是测试方案和测试计划。 1、测试方案…

自动化测试方案

自动化测试体系方案 方案1全编写代码流程 UI自动化&#xff1a; 使用python或java&#xff0c;配合selenium库及pytest框架做UI自动化测试。&#xff08;通过selenium的webdriver驱动&#xff0c;驱使浏览器&#xff09; 1. WebDriver API&#xff08;基于Java、Python&…

SpringBoot - 应用程序测试方案

文章目录 PreSpring Boot 中的测试解决方案测试 Spring Boot 应用程序初始化测试环境SpringBootTestSpringBootTest - webEnvironment RunWith 注解与 SpringRunner 执行测试用例使用 DataJpaTest 注解测试数据访问组件Service层和Controller的测试使用 Environment 测试配置信…

测试计划和测试方案有什么区别?

一、测试计划 1、测试计划是什么&#xff1f; 测试计划是组织管理层面的文件&#xff0c;从组织管理的角度对一次测试活动进行规划。对测试全过程的测试范围、组织、资源、原则等进行规定和约束&#xff0c;并制定测试全过程各个阶段的任务分配以及时间进度安排&#xff0c;并…

测试方案的设计及模板

测试方案设计及模板 测试方案设计概括xx测试方案_模板1.引言2.测试策略3.测试设计4.测试资源5.输出文档6.修订记录推荐书籍 测试方案设计概括 xx测试方案_模板 1.引言 1.1目的 根据需要实现的需求与软件的设计架构&#xff0c;设计满足测试目标的方案&#xff0c;用来指导测试…

软件测试方案设计

文章目录 1、软件框架2、测试方案设计2.1、测试覆盖2.2、功能测试和压力测试2.3、自动化测试2.4、持续集成 1、软件框架 站在软件的角度&#xff0c;一个系统通常可以分为以下四个层次&#xff1a; 应用软件层(app layer)。用户重点自己开发的应用代码&#xff0c;例如我们的运…

又发现个新的全网资源搜索神器

平常用谷歌百度搜资源一个个翻很费劲&#xff0c;这里分享几个最新可用的全网网盘资源搜索神器&#xff0c;在公众号苏生不惑后台回复神器 获取软件下载地址。 混合盘 这个app聚合搜索多个网盘资源&#xff0c;可从数十个网盘搜索网站中检索出你需要的资源&#xff0c;app非常简…

magnetX,资源搜索神器!老司机快上车!

magnetX 中文版是一款非常好用的资源搜索神器&#xff0c;界面干净简洁并且不会有弹窗。而且可以通过关键字搜索&#xff0c;或者网址过滤这两种方式快速找到你想要的资源&#xff0c;并且还能配合WebTorrent在线播放&#xff0c;还可以配合下载工具进行一键下载资源&#xff0…

【森林SOU】小巧绿色版搜索神器

种子搜索神器是一款基于P2P技术的资源搜索软件&#xff0c;搜索神器有很多&#xff0c;其实下面为大家带来的这个搜索工具就很不错&#xff0c;小巧功能强大无需安装&#xff0c;这里有着十分全面的资源可以自由搜索&#xff0c;下载也没有什么速度限制&#xff0c;十分便捷&am…

2014 三款强大搜片神器 | 各种视频资源 | 电影电视剧搜索

您还在百度上搜索电影吗&#xff0c;即浪费时间有累眼睛&#xff0c;并且还经常找到的不是自己想要的资源(某位仁兄下来了几个G的葫芦娃~~)。 亲们的福音来了。三款超强大的搜索下载看片软件很适合你。 只要有了他们&#xff0c;找神马资源都会变的轻松&#xff0c;So Easy~~ 下…

分享几个好用的百度网盘搜索引擎

与大家分享几个好用的网盘搜索神器&#xff0c;方便大家搜索百度云网盘分享的资源文件。&#xff08;已测试&#xff0c;目前都可用&#xff09; 一、 盘搜 http://www.pansou.com/ 网站简洁&#xff0c;搜索即可出来结果&#xff0c;点击搜索结果就能跳转。 二、 飞鱼盘搜 h…