环境准备:
linux
cmake (version > 2.8.11),本文里面是cmake3.14
cmake下载:https://cmake.org/download/
CGAL库依赖库列表:
CGAL库下载:The Computational Geometry Algorithms Library
依次安装boost,gmp以及mpfr的 依赖库,如权限不够记得加上sudo命令
apt-get install python-dev gccxml
apt-get install libgmp-dev
apt-get install libmpfr-dev
boost 安装:
cd /opt/cmake-3.3.2
./bootstrap
make
make install
gmp安装:
由于gmp下载下来是lz结尾,所以首先安装lzip再解压, make check可省略
sudo apt-get install lzip
lzip -d gmp-6.1.2.tar.lz
tar -xvf gmp-6.1.2.tar
cd gmp-6.1.2
./configure
make
make check
make install
mpfr安装:这里需要注意,因为mpfr依赖于gmp,如果gmp是默认安装则其库在/usr/local下,如果自定义安装,记得修改--with-gmp-include
cd mpfr-4.0.2
./confgigure --with-gmp-include=/usr/local/include --with-gmp-lib=/usr/local/lib
make
make check
make install
CGAL5.0 2 library安装:具体可参见https://doc.cgal.org/latest/Manual/installation.html
cd CGAL-5.0.2
mkdir build
cd build
cmake -DCGAL_HEADER_ONLY=OFF -DCMAKE_BUILD_TYPE=Release ..
make
make install
如果一切ok,那么就可以进入下一阶段了:
这里需要注意:如果使用CGAL里面的某些package,其可能会有一些其他依赖库,这时候需要先下载好这些依赖库之后,再进行下一步。相关package依赖库查看见:依赖库查看。
比如下图Point Set Processing这个package,可以从右边的depends on看到其不仅依赖CGAL还有Solvers,也就是eigen库,所以需要先下载好eigen库。
因为CGAl原本设计是为了C++编程的,如果使用python或者java,就需要CGAL-bindings来引入CGAL,
如果过程中遇到各类问题,可以在这里查询一下:安装说明
同时注意,因为我使用python,-DBUILD_PYTHON默认是ON的,所以这里关闭了JAVA的。如果是java可进行相应的修改。
CGAL-swig-bindings安装及测试如下:
git clone https://github.com/cgal/cgal-swig-bindings
cd cgal-swig-bindings
mkdir build
mkdir build/CGAL-5.0_release
cd build/CGAL-5.0_release
cmake -DCGAL_DIR=/usr/lib/CGAL -DBUILD_JAVA=OFF -PYTHON_OUTDIR_PREFIX=../../examples/python ../..
make -j 4
测试与结果见下图,安装成功
cd ../../examples/python
python test.py
如果cmake那一步出错,类似下面这种之类的,需要去查看上面的CGAL库是否安装ok
CMake Error at CMakeLists.txt:36 (if): if given arguments: "CGAL_FOUND" "AND" "GREATER" "4" Unknown arguments specified -- Configuring incomplete, errors occurred!
参考:
The Computational Geometry Algorithms Library
安装说明
如果是MacOS安装,可参考:MacOS CGAL安装