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)打开命令行终端,执行以下命令
cd C:\dev\boost_1_55_0
./bootstrap.bat mingw
b2 clean
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
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)打开命令行终端,将目录更改为目标目录,运行以下命令:
cd C:\dev\CGAL4.7
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)打开命令行终端,将目录更改为目标目录,运行以下命令:
cd C:\dev\SFCGAL-1.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配置
rpm -qa yum
rpm --import http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-7
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all
yum makecache
yum -y install centos-release
参考:yum安装软件包时提示没有该可用软件包的解决方法 - escape丶丶 - 博客园
2.gmp安装
tar -jxvf gmp-6.1.2.tar.bz2
cd gmp-6.1.2
bash ./configure --enable-cxx
make && make install
3.mpfr安装
tar -xzvf mpfr-4.0.2.tar.gz
cd mpfr-4.0.2
./configure
make && make install
4.boost安装
yum install boost
yum install boost-devel
yum search bzip2
yum install bzip2-devel.x86_64
5.cgal安装
tar -zxf CGAL-4.7.tar.gz
cd CGAL-4.7
cmake .
make
sudo make install
6.sfcgal安装
wget https://gitlab.com/Oslandia/SFCGAL/-/archive/v1.2.2/SFCGAL-v1.2.2.tar.gz
tar -zxf SFCGAL-v1.2.2.tar.gz
cd SFCGAL-v1.2.2
cmake . && make && make install