Linux(Ubuntu)安裝CGAL

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編譯安裝成功.

相關文章
相關標籤/搜索