摘要:cgal是一個開源的計算幾何庫, 博文記錄了其編譯、安裝和使用方法。
1 庫下載下傳
站點:http://www.cgal.org/
下載下傳:https://gforge.inria.fr/frs/download.php/file/34514/CGAL-4.5.2.zip
2 解壓縮、編譯與安裝
shell下進入解壓檔案夾
1)庫配置檔案生成指令:
cmake .
提示缺少gmp和mpfr庫
安裝缺少的庫:
sudo apt-get install libgmp-dev libmpfr-dev
然後cmake .
提示成功
2)編譯
make
約5秒編譯完成
3)安裝
sudo make install
頭檔案安裝位置:/usr/local/include/CGAL/
庫檔案位置:/usr/local/lib/
相應的庫有:libCGAL.so, libCGAL_ImageIO.so, libCGAL_Qt4.so, libCGAL_Core.so
3 程式測試
//編譯: g++ test.cpp -lCGAL -lCGAL_Core -lgmp
//-lmpfr
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
#include <CGAL/convex_hull_2.h>
#include <vector>
typedef CGAL::Exact_predicates_inexact_constructions_kernel K;
typedef K::Point_2 Point_2;
typedef std::vector<Point_2> Points;
int main()
{
Points points, result;
points.push_back(Point_2(0,0));
points.push_back(Point_2(10,0));
points.push_back(Point_2(10,10));
points.push_back(Point_2(6,5));
points.push_back(Point_2(4,1));
CGAL::convex_hull_2( points.begin(), points.end(), std::back_inserter(result) );
std::cout << result.size() << " points on the convex hull" << std::endl;
return 0;
}
//編譯: g++ test.cpp -lCGAL -lCGAL_Core -lgmp