CGAL在VS中的配置
说明:CGAL是C++的一个几何计算库,我仅仅想在C/C++文件中调用CGAL中定义好的函数,所以没有安装qt。
vs2015 CGAL4.13 boost1.69
(注:安装CGAL的时候一定要选上安装gmp)
前提,上述已安装完成。安装教程参考的:https://blog.****.net/u012876599/article/details/51602101
这里说明一下如何配置VS以便于可以使用CGAL的函数。
1.新建一个工程
2.右键点击项目名,打开属性
右面三个箭头是要配置的地方。
(1) 可执行文件目录 --》配置成:CGAL编译后的bin路径。如图是我配置路径
(2)包含目录 --》配置成:我配置了四个主要的,CGAL本身的include 路径,CGAL编译后的include路径, gmp的include路径,boost的根路径。
例如:
(3)库路径:gmp的lib路径,CGAL编译后的lib路径
如图:
(4)最重要的一步 :在你编译CGAL目录下的bin文件夹下的 DLL文件复制到你的项目里。
如:
一般需要这两个DLL文件。
以上就可以调用CGAL函数了。
下面是一个示例cpp,可以试跑一下。
#include <iostream>
#include <CGAL/Simple_cartesian.h>
typedef CGAL::Simple_cartesian<double> Kernel;
typedef Kernel::Point_2 Point_2;
typedef Kernel::Segment_2 Segment_2;
int main()
{
Point_2 p(1, 1), q(10, 10);
std::cout << "p = " << p << std::endl;
std::cout << "q = " << q.x() << " " << q.y() << std::endl;
std::cout << "sqdist(p,q) = "
<< CGAL::squared_distance(p, q) << std::endl;
Segment_2 s(p, q);
Point_2 m(5, 9);
std::cout << "m = " << m << std::endl;
std::cout << "sqdist(Segment_2(p,q), m) = "
<< CGAL::squared_distance(s, m) << std::endl;
std::cout << "p, q, and m ";
switch (CGAL::orientation(p, q, m)) {
case CGAL::COLLINEAR:
std::cout << "are collinear\n";
break;
case CGAL::LEFT_TURN:
std::cout << "make a left turn\n";
break;
case CGAL::RIGHT_TURN:
std::cout << "make a right turn\n";
break;
}
std::cout << " midpoint(p,q) = " << CGAL::midpoint(p, q) << std::endl;
system("pause");
return 0;
}