在超算上无法联网,所以CGAL想要安装必须用源码安装了
这篇文章不错,给了大致的思路:
https://blog.csdn.net/weixin_42386056/article/details/121237338
依赖的版本可以参看这个:
https://doc.cgal.org/latest/Manual/thirdparty.html#seccompilers
我的机器上有boost和cmake就不安装了,有需要的可以参考上面的链接
gmp & mpfr
上面的链接同样有写,我就不多说了
源码链接:https://gmplib.org/#DOWNLOAD
https://www.mpfr.org/mpfr-current/
安装:
tar xf XXX.tar.xz
cd XXX
./configure CC=C编译器路径 CXX=C++编译器路径--prefix=安装路径
CGAL
最新的cgal不需要安装,自用的话只要引用头文件就行了
我实例代码的一个CMAKELIST是这样写的
# Created by the script cgal_create_cmake_script
# This is the CMake script for compiling a CGAL application.
cmake_minimum_required(VERSION 3.1...3.23)
# 指定编译器
set(CMAKE_C_COMPILER /thfs1/software/mpich/4.0.2-mpi-x-gcc12.2.0/bin/mpicc)
set(CMAKE_CXX_COMPILER /thfs1/software/mpich/4.0.2-mpi-x-gcc12.2.0/bin/mpicxx)
# 加入编译指令 不加也行,出处参考https://blog.csdn.net/zrq293/article/details/105969423/
# 前面要加上"-Wl,"参数,告知编译器后面的参数不是编译器参数,而是链接器参数,出处:https://www.cnblogs.com/yutongqing/p/6888013.html
add_compile_options(-Wl,--copy-dt-needed-entries)
project(Alpha_wrap_3_Examples)
# 这里库的路径一定要写到.a文件,否则他找不到
set(Boost_INCLUDE_DIR /thfs1/software/boost/1.67.0-gcc8.3.0/include/)
set(GMP_LIBRARIES /thfs1/home/qixiang_vis/ymy/gmp621-gcc12/lib/libgmp.a)
set(GMP_INCLUDE_DIR /thfs1/home/qixiang_vis/ymy/gmp621-gcc12/include)
set(MPFR_LIBRARIES /thfs1/home/qixiang_vis/ymy/mpfr420-gcc12/lib/libmpfr.a)
set(MPFR_INCLUDE_DIR /thfs1/home/qixiang_vis/ymy/mpfr420-gcc12/include)
set(CGAL_DIR /thfs1/home/qixiang_vis/ymy/CGAL-5.5.1/)
find_package(CGAL REQUIRED)
# create a target per cppfile
create_single_source_cgal_program("triangle_mesh_wrap.cpp")
运行的话
cd build
cmake ../
make