Linux(Ubuntu)安装CGAL

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编译安装成功.

 

你可能感兴趣的:(boost,cgal,几何算法库)