CGAL相关信息如下:
官网:CGAL官网
百度百科简单介绍:CGAL百度百科
操作系统:Ubuntu 1404 64bit
需编译的目标库:CGAL 4.7(当前最新的正式版本)
根据官网要求,编译CGAL 4.7版本需要:
cmake (version > 2.8.11)
boost (version > 1.48)
gmp (version > 4.2)
mpfr (version > 2.2.1)
安装g++(新装的Ubuntu没有安装g++编译器)
apt-get install g++
ps:所有操作均在root用户下进行
一、编译安装Boost
我选择安装的boost版本为1.58.可在boost官网下载:boost官网
首先安装boost的依赖库:
apt-get install python-dev gccxml
并copy到/opt路径下
解压boost源文件:
tar -zxvf boost_1_58_0.tar.gz
进入boost文件夹,并编译安装boost:
cd /opt/boost_1_58_0 ./bootstrap.sh --prefix=/usr ./b2 install
安装完成后,可以简单测试一下boost:
cat test.cpp
输入以下代码
#include <boost/lexical_cast.hpp> #include <iostream> int main() { using boost::lexical_cast; int a= lexical_cast<int>("123456"); double b = lexical_cast<double>("123.456"); std::cout << a << std::endl; std::cout << b << std::endl; return 0; }
运行测试:
g++ -o test test.cpp ./test
二、编译安装cmake
到cmake官网下载源文件,本人下的是3.3.2的版本
copy下载的cmake源文件至/opt下
解压
tar -axvf cmake-3.3.2.tar.gz
配置/编译/安装
cd /opt/cmake-3.3.2 ./bootstrap make make install
三、编译安装CGAL
CGAL官网下载源文件(我下的版本是4.7)
copy下载的源文件至/opt
解压文件:
tar -zxvf CGAL-4.7.tar.gz
进入源文件夹
cd CGAL-4.7
使用cmake构建
cmake .
根据构建信息查看是否需要其他包(特别注意gmp和mpfr的版本需满足CGAL的编译需求),如果编译依赖的库都满足,则直接make
apt-get install libgmp-dev apt-get install libmpfr-dev
make make install
CGAL编译安装完成后,可进行CGAL的测试,可在任意文件夹下创建一个C++的测试代码,如/opt/CTest.cpp
#include <iostream> #include <CGAL/Simple_cartesian.h> typedef CGAL::Simple_cartesian<double> Kernel; typedef Kernel::Point_2 Point_2; int main(){ { Point_2 p(0, 0.3), q(1, 0.6), r(2, 0.9); std::cout << (CGAL::collinear(p,q,r) ? "collinear\n" : "not collinear\n"); } { Point_2 p(0, 1.0/3.0), q(1, 2.0/3.0), r(2, 1); std::cout << (CGAL::collinear(p,q,r) ? "collinear\n" : "not collinear\n"); } { Point_2 p(0,0), q(1, 1), r(2, 2); std::cout << (CGAL::collinear(p,q,r) ? "collinear\n" : "not collinear\n"); } return 0; }
编译运行测试代码
g++ -o CTest CTest.cpp -lCGAL -lCGAL_Core -lgmp ./CTest
如有正确输出(如提示未找到CGAL库,可以先ldconfig重新搜索目录),则表示CGAL编译安装成功.