• cgal + sfcgal


    window部署

    参考:https://github.com/STEMLab/sfcgal4j-iso

    CGAL:4.7 版本
    Boost:1.55 版本
    CMake:3.24.0版本
    SFCGAL:1.2.2 版本

    1.MinGW-w64

    MinGW-w64 - for 32 and 64 bit Windows download | SourceForge.net

    1)下载seh版本,解压

    2)将bin目录配置到path环境变量

    参考:MinGW-w64下载文件失败the file has been downloaded incorrectly_Android_la的博客-CSDN博客_mingw下载失败

    2.Boost

    Boost C++ Libraries - Browse /boost/1.55.0 at SourceForge.net

    1)打开命令行终端,执行以下命令

    1. cd C:\dev\boost_1_55_0
    2. ./bootstrap.bat mingw
    3. b2 clean
    4. b2 -j4 -a --toolset=gcc variant=debug,release link=static threading=multi address-model=64 stage

    2)确保子目录 stage/lib/ 已被编译的库填充

    3)配置环境变量

    BOOST_ROOT:Boost 安装的根目录

    BOOST_INCLUDEDIR:包含 boost/version.hpp 文件的目录

    BOOST_LIBRARYDIR:包含已编译的 Boost 库的目录

    4)将 Boost_ROOT\stage\lib 添加到系统 PATH。(例如,C:\dev\boost_1_55_0\stage\lib)。

    3.CMake

    CMake

    1)同意许可。

    2)选中“将 CMake 添加到所有用户的系统路径”。

    3)勾选“创建桌面图标”。

    4)单击下一步、下一步、下一步。

    5)结束。

    4.CGAL

    The Computational Geometry Algorithms Library

    安装cgal

    1)CGAL 安装需要连接到互联网以进行 GMP 和 MPFR。

    2)同意许可。

    3)只需选择默认值:使用 GMP 和 MPFR,以及示例和演示。

    4)选择“64 位”。

    5)在“设置环境变量”屏幕中,选择所有用户并确保选中 CGAL_DIR。

    6)安装。

    7)将 CGAL_DIR 和其他变量添加到环境变量中。

    CGAL_DIR:CGAL 安装的根目录

    GMP_DIR:Gmp默认安装目录(CGAL_DIR\auxiliary\gmp)

    GMP_INC_DIR:包含 gmp.h 文件的目录

    GMP_LIB_DIR:包含已编译 Gmp 库的目录

    MPFR_DIR:Mpfr默认安装目录(CGAL_DIR\auxiliary\gmp)

    MPFR_INC_DIR:包含 mpfr.h 文件的目录

    MPFR_LIB_DIR:包含已编译 Mpfr 库的目录

    8)将 CGAL_DIR\auxiliary\gmp\lib 添加到系统路径。(例如,C:\dev\CGAL-4.7\auxiliary\gmp\lib)

    编译cgal

    1)打开 CMake - cmake-gui(在桌面上) - 如果您使用的是 win7,请确保以管理员模式打开程序 - 右键单击​​图标并单击“以管理员身份运行”。

    2)对于“源代码在哪里”和“在哪里构建二进制文件”指定 CGAL 安装文件夹 (C:\dev\CGAL-4.7)

    3)单击配置。

    4)选择“MinGW Makefiles”并单击“完成”。

    5)检查 CGAL_Boost_USE_STATIC_LIBS 选项 (ON)

    6)检查 WITH_CGAL_QT3(或 QT5)选项(关闭)

    7)将 CMAKE_BUILD_TYPE 选项设置为 Release

    8)检查BUILD_SHARED_LIBS选项 (ON)

    9)单击生成。

    10)在目录中创建了一个名为 CGAL 的解决方案。

    11)打开命令行终端,将目录更改为目标目录,运行以下命令:

    1. cd C:\dev\CGAL4.7
    2. mingw32-make

    5.SFCGAL

    1)下载 sfcgal ,将其解压到您选择的目标目录(例如,C:\dev\SFCGAL-1.2.2)

    2)打开 CMake - cmake-gui。

    3)对于“源代码在哪里”和“在哪里构建二进制文件”指定 SFCGAL 安装文件夹 (C:\dev\SFCGAL-1.2.2)

    4)单击配置。

    5)选择“Mingw Makefiles”并单击“完成”。

    6)检查 Boost_USE_STATIC_LIBS 选项 (ON)。

    7)将 CMAKE_BUILD_TYPE 选项设置为 Release,

    8)单击生成。

    9)在目录中创建了一个名为 SFCGAL 的解决方案。

    10)打开命令行终端,将目录更改为目标目录,运行以下命令:

    1. cd C:\dev\SFCGAL-1.2.2
    2. mingw32-make

    11)将 SFCGAL_DIR 变量添加到环境变量中。

    SFCGAL_DIR:SFCGAL 安装的根目录。

    问题汇总:

    问题1:undefined reference to `__imp__ZN4CGAL14assertion_failEPKcS1_iS1_'

    解决:

    该问题描述说明在cgal库里没有找到“__imp__ZN4CGAL14assertion_failEPKcS1_iS1_”,

    objdump -s xxx.lib

    objdump -s xxx.lib >> info.txt

    利用FileLocator Pro软件,可查询到是什么文件没有关联到,通过cmake,修改配置,重新生成就可以了。

    问题2:-Xcompiler -lCGAL报错

    解决:查看环境变量

    linux部署

    参考:linux7.4 配置yum,Centos7.4重装yum_weixin_39860757的博客-CSDN博客

    https://www.jianshu.com/p/7781a9c29f37

    1.yum配置

    1. rpm -qa yum
    2. rpm --import http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-7
    3. wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    4. yum clean all
    5. yum makecache
    6. yum -y install centos-release

     参考:yum安装软件包时提示没有该可用软件包的解决方法 - escape丶丶 - 博客园

     yum 报404 解决办法 - 虞岩 - 博客园

    2.gmp安装

    1. tar -jxvf gmp-6.1.2.tar.bz2
    2. cd gmp-6.1.2
    3. bash ./configure --enable-cxx
    4. make && make install

    3.mpfr安装

    1. tar -xzvf mpfr-4.0.2.tar.gz
    2. cd mpfr-4.0.2
    3. ./configure
    4. make && make install

    4.boost安装

    1. yum install boost
    2. yum install boost-devel
    3. yum search bzip2
    4. yum install bzip2-devel.x86_64

    5.cgal安装

    1. tar -zxf CGAL-4.7.tar.gz
    2. cd CGAL-4.7
    3. cmake .
    4. make
    5. sudo make install

    6.sfcgal安装

    1. wget https://gitlab.com/Oslandia/SFCGAL/-/archive/v1.2.2/SFCGAL-v1.2.2.tar.gz
    2. tar -zxf SFCGAL-v1.2.2.tar.gz
    3. cd SFCGAL-v1.2.2
    4. cmake . && make && make install

  • 相关阅读:
    【linux 0.11 学习记录】一、环境配置,用Bochs输出hello world
    【iOS】引用计数与autorelease
    语义分割 语义通信 增强模型图片处理
    【Call for papers】ICML-2023(CCF-A/人工智能/2023年1月26日截稿)
    YOLOv8-seg改进:SEAM、MultiSEAM分割物与物相互遮挡、分割小目标性能
    C++智能指针
    实现本地访问云主机,以及在云主机搭建FTP站点
    SpringCloud-Gateway路由动态配置Nacos实现
    Python学习(7)--获取windows本地网卡和地址信息(2)
    《算法基础》 递推问题
  • 原文地址:https://blog.csdn.net/qq_39472036/article/details/126525208