CGAL相關信息以下:python
官網:CGAL官網ios
百度百科簡單介紹:CGAL百度百科shell
操做系統:Ubuntu 1404 64bitbootstrap
需編譯的目標庫:CGAL 4.7(當前最新的正式版本)測試
根據官網要求,編譯CGAL 4.7版本須要:url
cmake (version > 2.8.11)spa
boost (version > 1.48)操作系統
gmp (version > 4.2)code
mpfr (version > 2.2.1)xml
安裝g++(新裝的Ubuntu沒有安裝g++編譯器)
apt-get install g++
ps:全部操做均在root用戶下進行
1、編譯安裝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
2、編譯安裝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
3、編譯安裝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編譯安裝成功.