网格处理库 pmp-library 编译及应用笔记 -- 已全部解决√

多边形网格处理库Polygon Mesh Processing Library,简称pmp-library的 编译及应用笔记 – 已全部解决√

官网:https://www.pmp-library.org/index.html
代码:https://github.com/pmp-library/pmp-library
平台:Ubuntu1 20.04,gcc11.4.0(成功),gcc9.4.0(失败)

  1. 第一个报错:找不到wayland-scanner,在终端安装这个包
(base) xj@xj:~/VS2024/pmp-library/build$ cmake .. && make
-- Including Wayland support
-- Including X11 support
CMake Error at external/glfw-3.4/src/CMakeLists.txt:76 (message):Failed to find wayland-scanner-- Configuring incomplete, errors occurred!
See also "/home/xj/VS2024/pmp-library/build/CMakeFiles/CMakeOutput.log".
See also "/home/xj/VS2024/pmp-library/build/CMakeFiles/CMakeError.log".

安装wayland-scanner的指令是:sudo apt install libwayland-dev

(base) xj@xj:~/VS2024/pmp-library/build$ sudo apt install libwayland-dev
[sudo] xj 的密码: 
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
将会同时安装下列软件:libwayland-bin
建议安装:libwayland-doc
下列【新】软件包将被安装:libwayland-bin libwayland-dev
升级了 0 个软件包,新安装了 2 个软件包,要卸载 0 个软件包,有 265 个软件包未被升级。
需要下载 84.9 kB 的归档。
解压缩后会消耗 630 kB 的额外空间。
您希望继续执行吗? [Y/n] y
获取:1 http://mirrors.tuna.tsinghua.edu.cn/ubuntu focal-updates/main amd64 libwayland-bin amd64 1.18.0-1ubuntu0.1 [20.2 kB]
获取:2 http://mirrors.tuna.tsinghua.edu.cn/ubuntu focal-updates/main amd64 libwayland-dev amd64 1.18.0-1ubuntu0.1 [64.6 kB]
已下载 84.9 kB,耗时 0(234 kB/s)      
正在选中未选择的软件包 libwayland-bin。
(正在读取数据库 ... 系统当前共安装有 326316 个文件和目录。)
准备解压 .../libwayland-bin_1.18.0-1ubuntu0.1_amd64.deb  ...
正在解压 libwayland-bin (1.18.0-1ubuntu0.1) ...
正在选中未选择的软件包 libwayland-dev:amd64。
准备解压 .../libwayland-dev_1.18.0-1ubuntu0.1_amd64.deb  ...
正在解压 libwayland-dev:amd64 (1.18.0-1ubuntu0.1) ...
正在设置 libwayland-bin (1.18.0-1ubuntu0.1) ...
正在设置 libwayland-dev:amd64 (1.18.0-1ubuntu0.1) ...
  1. 再次编译,又报错,找不到包xkbcommon,安装该包
(base) xj@xj:~/VS2024/pmp-library/build$ cmake .. && make
-- Including Wayland support
-- Including X11 support
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1") 
-- Checking for modules 'wayland-client>=0.2.7;wayland-cursor>=0.2.7;wayland-egl>=0.2.7;xkbcommon>=0.5.0'
--   No package 'xkbcommon' found
CMake Error at /usr/share/cmake-3.16/Modules/FindPkgConfig.cmake:463 (message):A required package was not found
Call Stack (most recent call first):/usr/share/cmake-3.16/Modules/FindPkgConfig.cmake:643 (_pkg_check_modules_internal)external/glfw-3.4/src/CMakeLists.txt:163 (pkg_check_modules)-- Configuring incomplete, errors occurred!
See also "/home/xj/VS2024/pmp-library/build/CMakeFiles/CMakeOutput.log".
See also "/home/xj/VS2024/pmp-library/build/CMakeFiles/CMakeError.log".

安装xkbcommon的指令:sudo apt-get install libxkbcommon-x11-dev

(base) xj@xj:~/VS2024/pmp-library/build$ sudo apt-get install libxkbcommon-x11-dev
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
将会同时安装下列软件:libxcb-xkb-dev libxkbcommon-dev
下列【新】软件包将被安装:libxcb-xkb-dev libxkbcommon-dev libxkbcommon-x11-dev
升级了 0 个软件包,新安装了 3 个软件包,要卸载 0 个软件包,有 265 个软件包未被升级。
需要下载 91.5 kB 的归档。
解压缩后会消耗 760 kB 的额外空间。
您希望继续执行吗? [Y/n] y
获取:1 http://mirrors.tuna.tsinghua.edu.cn/ubuntu focal/main amd64 libxcb-xkb-dev amd64 1.14-2 [40.4 kB]
获取:2 http://mirrors.tuna.tsinghua.edu.cn/ubuntu focal/main amd64 libxkbcommon-dev amd64 0.10.0-1 [45.4 kB]
获取:3 http://mirrors.tuna.tsinghua.edu.cn/ubuntu focal/main amd64 libxkbcommon-x11-dev amd64 0.10.0-1 [5,684 B]
已下载 91.5 kB,耗时 0(312 kB/s)             
正在选中未选择的软件包 libxcb-xkb-dev:amd64。
(正在读取数据库 ... 系统当前共安装有 326348 个文件和目录。)
准备解压 .../libxcb-xkb-dev_1.14-2_amd64.deb  ...
正在解压 libxcb-xkb-dev:amd64 (1.14-2) ...
正在选中未选择的软件包 libxkbcommon-dev:amd64。
准备解压 .../libxkbcommon-dev_0.10.0-1_amd64.deb  ...
正在解压 libxkbcommon-dev:amd64 (0.10.0-1) ...
正在选中未选择的软件包 libxkbcommon-x11-dev:amd64。
准备解压 .../libxkbcommon-x11-dev_0.10.0-1_amd64.deb  ...
正在解压 libxkbcommon-x11-dev:amd64 (0.10.0-1) ...
正在设置 libxkbcommon-dev:amd64 (0.10.0-1) ...
正在设置 libxcb-xkb-dev:amd64 (1.14-2) ...
正在设置 libxkbcommon-x11-dev:amd64 (0.10.0-1) ...
  1. 重新编译,这次依赖没有问题了,但是构建过程报错:fatal error: compare: 没有那个文件或目录。可能是gcc版本的问题,官方要求gcc11.4.0,我的ubuntu是gcc9.4.0,升级试试看。(推测是对的~~)
(base) xj@xj:~/VS2024/pmp-library/build$ cmake .. && make
-- Including Wayland support
-- Including X11 support
-- Checking for modules 'wayland-client>=0.2.7;wayland-cursor>=0.2.7;wayland-egl>=0.2.7;xkbcommon>=0.5.0'
--   Found wayland-client, version 1.18.0
--   Found wayland-cursor, version 1.18.0
--   Found wayland-egl, version 18.1.0
--   Found xkbcommon, version 0.10.0
-- Found X11: /usr/include   
-- Looking for XOpenDisplay in /usr/lib/x86_64-linux-gnu/libX11.so;/usr/lib/x86_64-linux-gnu/libXext.so
-- Looking for XOpenDisplay in /usr/lib/x86_64-linux-gnu/libX11.so;/usr/lib/x86_64-linux-gnu/libXext.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
-- No build type specified. Using 'Release' as default.
-- clang-tidy not found.
-- Found OpenMP_C: -fopenmp (found version "4.5") 
-- Found OpenMP_CXX: -fopenmp (found version "4.5") 
-- Found OpenMP: TRUE (found version "4.5")  
-- Found OpenGL: /usr/lib/x86_64-linux-gnu/libOpenGL.so   
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) (Required is at least version "1.9.6")
-- clang-format not found.
-- Configuring done
-- Generating done
-- Build files have been written to: /home/xj/VS2024/pmp-library/build
Scanning dependencies of target glew
[  1%] Building C object CMakeFiles/glew.dir/external/glew-2.2.0/src/glew.c.o
[  1%] Linking C static library libglew.a
[  1%] Built target glew
Scanning dependencies of target stb_image_write
[  2%] Building CXX object external/stb_image_write-1.16/CMakeFiles/stb_image_write.dir/stb_image_write.cpp.o
[  3%] Linking CXX static library ../../libstb_image_write.a
[  3%] Built target stb_image_write
Scanning dependencies of target stb_image
[  4%] Building CXX object external/stb_image-2.28/CMakeFiles/stb_image.dir/stb_image.cpp.o
[  4%] Linking CXX static library ../../libstb_image.a
[  4%] Built target stb_image
[  5%] Generating xdg-decoration-unstable-v1-client-protocol-code.h
[  6%] Generating wayland-client-protocol.h
/home/xj/VS2024/pmp-library/external/glfw-3.4/deps/wayland/wayland.xml:185: element event: validity error : No declaration for attribute type of element event
*******************************************************
*                                                     *
* WARNING: XML failed validation against built-in DTD *
*                                                     *
*******************************************************
[  7%] Generating wayland-client-protocol-code.h
/home/xj/VS2024/pmp-library/external/glfw-3.4/deps/wayland/wayland.xml:185: element event: validity error : No declaration for attribute type of element event
*******************************************************
*                                                     *
* WARNING: XML failed validation against built-in DTD *
*                                                     *
*******************************************************
[  7%] Generating viewporter-client-protocol.h
[  8%] Generating viewporter-client-protocol-code.h
[  9%] Generating xdg-shell-client-protocol.h
[  9%] Generating xdg-shell-client-protocol-code.h
[ 10%] Generating idle-inhibit-unstable-v1-client-protocol.h
[ 11%] Generating idle-inhibit-unstable-v1-client-protocol-code.h
[ 11%] Generating pointer-constraints-unstable-v1-client-protocol.h
[ 12%] Generating pointer-constraints-unstable-v1-client-protocol-code.h
[ 12%] Generating relative-pointer-unstable-v1-client-protocol.h
[ 13%] Generating relative-pointer-unstable-v1-client-protocol-code.h
[ 14%] Generating fractional-scale-v1-client-protocol.h
[ 14%] Generating fractional-scale-v1-client-protocol-code.h
[ 15%] Generating xdg-activation-v1-client-protocol.h
[ 16%] Generating xdg-activation-v1-client-protocol-code.h
[ 16%] Generating xdg-decoration-unstable-v1-client-protocol.h
Scanning dependencies of target glfw
[ 17%] Building C object external/glew-2.2.0/src/CMakeFiles/glfw.dir/context.c.o
[ 17%] Building C object external/glew-2.2.0/src/CMakeFiles/glfw.dir/init.c.o
[ 18%] Building C object external/glew-2.2.0/src/CMakeFiles/glfw.dir/input.c.o
[ 18%] Building C object external/glew-2.2.0/src/CMakeFiles/glfw.dir/monitor.c.o
[ 19%] Building C object external/glew-2.2.0/src/CMakeFiles/glfw.dir/platform.c.o
[ 20%] Building C object external/glew-2.2.0/src/CMakeFiles/glfw.dir/vulkan.c.o
[ 20%] Building C object external/glew-2.2.0/src/CMakeFiles/glfw.dir/window.c.o
[ 21%] Building C object external/glew-2.2.0/src/CMakeFiles/glfw.dir/egl_context.c.o
[ 22%] Building C object external/glew-2.2.0/src/CMakeFiles/glfw.dir/osmesa_context.c.o
[ 22%] Building C object external/glew-2.2.0/src/CMakeFiles/glfw.dir/null_init.c.o
[ 23%] Building C object external/glew-2.2.0/src/CMakeFiles/glfw.dir/null_monitor.c.o
[ 24%] Building C object external/glew-2.2.0/src/CMakeFiles/glfw.dir/null_window.c.o
[ 24%] Building C object external/glew-2.2.0/src/CMakeFiles/glfw.dir/null_joystick.c.o
[ 25%] Building C object external/glew-2.2.0/src/CMakeFiles/glfw.dir/posix_module.c.o
[ 25%] Building C object external/glew-2.2.0/src/CMakeFiles/glfw.dir/posix_time.c.o
[ 26%] Building C object external/glew-2.2.0/src/CMakeFiles/glfw.dir/posix_thread.c.o
[ 27%] Building C object external/glew-2.2.0/src/CMakeFiles/glfw.dir/x11_init.c.o
[ 27%] Building C object external/glew-2.2.0/src/CMakeFiles/glfw.dir/x11_monitor.c.o
[ 28%] Building C object external/glew-2.2.0/src/CMakeFiles/glfw.dir/x11_window.c.o
[ 29%] Building C object external/glew-2.2.0/src/CMakeFiles/glfw.dir/xkb_unicode.c.o
[ 29%] Building C object external/glew-2.2.0/src/CMakeFiles/glfw.dir/glx_context.c.o
[ 30%] Building C object external/glew-2.2.0/src/CMakeFiles/glfw.dir/wl_init.c.o
[ 31%] Building C object external/glew-2.2.0/src/CMakeFiles/glfw.dir/wl_monitor.c.o
[ 31%] Building C object external/glew-2.2.0/src/CMakeFiles/glfw.dir/wl_window.c.o
[ 32%] Building C object external/glew-2.2.0/src/CMakeFiles/glfw.dir/linux_joystick.c.o
[ 32%] Building C object external/glew-2.2.0/src/CMakeFiles/glfw.dir/posix_poll.c.o
[ 33%] Linking C shared library ../../../libglfw.so
[ 33%] Built target glfw
Scanning dependencies of target imgui
[ 33%] Building CXX object external/imgui-1.90.4/CMakeFiles/imgui.dir/imgui.cpp.o
[ 34%] Building CXX object external/imgui-1.90.4/CMakeFiles/imgui.dir/imgui_demo.cpp.o
[ 34%] Building CXX object external/imgui-1.90.4/CMakeFiles/imgui.dir/imgui_draw.cpp.o
[ 35%] Building CXX object external/imgui-1.90.4/CMakeFiles/imgui.dir/imgui_impl_glfw.cpp.o
[ 36%] Building CXX object external/imgui-1.90.4/CMakeFiles/imgui.dir/imgui_impl_opengl3.cpp.o
[ 36%] Building CXX object external/imgui-1.90.4/CMakeFiles/imgui.dir/imgui_tables.cpp.o
[ 37%] Building CXX object external/imgui-1.90.4/CMakeFiles/imgui.dir/imgui_widgets.cpp.o
[ 38%] Linking CXX static library ../../libimgui.a
[ 38%] Built target imgui
Scanning dependencies of target pmp
[ 39%] Building CXX object src/pmp/CMakeFiles/pmp.dir/surface_mesh.cpp.o
In file included from /home/xj/VS2024/pmp-library/src/pmp/surface_mesh.cpp:5:
/home/xj/VS2024/pmp-library/src/pmp/surface_mesh.h:9:10: fatal error: compare: 没有那个文件或目录9 | #include <compare>|          ^~~~~~~~~
compilation terminated.
make[2]: *** [src/pmp/CMakeFiles/pmp.dir/build.make:63:src/pmp/CMakeFiles/pmp.dir/surface_mesh.cpp.o] 错误 1
make[1]: *** [CMakeFiles/Makefile2:507:src/pmp/CMakeFiles/pmp.dir/all] 错误 2
make: *** [Makefile:141:all] 错误 2
(base) xj@xj:~/VS2024/pmp-library/build$ 

按照这个链接安装gcc11,我的默认安装11.4.0了【Ubuntu20.04】安装gcc11 g++11, Ubuntu18.04

安装前,gcc版本9.4.0:

(base) xj@xj:~/VS2024/pmp-library/build$ gcc --version
gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

安装后,gcc版本11.4.0:

xj@xj:~/VS2024/pmp-library/build$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 60 --slave /usr/bin/g++ g++ /usr/bin/g++-11 
update-alternatives: 使用 /usr/bin/gcc-11 来在自动模式中提供 /usr/bin/gcc (gcc)
xj@xj:~/VS2024/pmp-library/build$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.4.0-2ubuntu1~20.04' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-11-PfdVzN/gcc-11-11.4.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-11-PfdVzN/gcc-11-11.4.0/debian/tmp-gcn/usr --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 11.4.0 (Ubuntu 11.4.0-2ubuntu1~20.04) 

再次编译,成功啦!!!

xj@xj:~/VS2024/pmp-library/build$ cmake .. && make
-- Including Wayland support
-- Including X11 support
-- clang-tidy not found.
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) (Required is at least version "1.9.6")
-- clang-format not found.
-- Configuring done
-- Generating done
-- Build files have been written to: /home/xj/VS2024/pmp-library/build
[  1%] Built target glew
[  3%] Built target stb_image_write
[  4%] Built target stb_image
[ 33%] Built target glfw
[ 38%] Built target imgui
[ 39%] Building CXX object src/pmp/CMakeFiles/pmp.dir/surface_mesh.cpp.o
[ 39%] Building CXX object src/pmp/CMakeFiles/pmp.dir/algorithms/curvature.cpp.o
[ 40%] Building CXX object src/pmp/CMakeFiles/pmp.dir/algorithms/decimation.cpp.o
[ 40%] Building CXX object src/pmp/CMakeFiles/pmp.dir/algorithms/differential_geometry.cpp.o
[ 41%] Building CXX object src/pmp/CMakeFiles/pmp.dir/algorithms/distance_point_triangle.cpp.o
[ 42%] Building CXX object src/pmp/CMakeFiles/pmp.dir/algorithms/fairing.cpp.o
[ 42%] Building CXX object src/pmp/CMakeFiles/pmp.dir/algorithms/features.cpp.o
[ 43%] Building CXX object src/pmp/CMakeFiles/pmp.dir/algorithms/geodesics.cpp.o
[ 44%] Building CXX object src/pmp/CMakeFiles/pmp.dir/algorithms/hole_filling.cpp.o
[ 44%] Building CXX object src/pmp/CMakeFiles/pmp.dir/algorithms/laplace.cpp.o
[ 45%] Building CXX object src/pmp/CMakeFiles/pmp.dir/algorithms/normals.cpp.o
[ 46%] Building CXX object src/pmp/CMakeFiles/pmp.dir/algorithms/numerics.cpp.o
[ 46%] Building CXX object src/pmp/CMakeFiles/pmp.dir/algorithms/parameterization.cpp.o
[ 47%] Building CXX object src/pmp/CMakeFiles/pmp.dir/algorithms/remeshing.cpp.o
[ 47%] Building CXX object src/pmp/CMakeFiles/pmp.dir/algorithms/shapes.cpp.o
[ 48%] Building CXX object src/pmp/CMakeFiles/pmp.dir/algorithms/smoothing.cpp.o
[ 49%] Building CXX object src/pmp/CMakeFiles/pmp.dir/algorithms/subdivision.cpp.o
[ 49%] Building CXX object src/pmp/CMakeFiles/pmp.dir/algorithms/triangulation.cpp.o
[ 50%] Building CXX object src/pmp/CMakeFiles/pmp.dir/algorithms/utilities.cpp.o
[ 51%] Building CXX object src/pmp/CMakeFiles/pmp.dir/io/io.cpp.o
[ 51%] Building CXX object src/pmp/CMakeFiles/pmp.dir/io/read_obj.cpp.o
[ 52%] Building CXX object src/pmp/CMakeFiles/pmp.dir/io/read_off.cpp.o
[ 53%] Building CXX object src/pmp/CMakeFiles/pmp.dir/io/read_pmp.cpp.o
[ 53%] Building CXX object src/pmp/CMakeFiles/pmp.dir/io/read_stl.cpp.o
[ 54%] Building CXX object src/pmp/CMakeFiles/pmp.dir/io/write_obj.cpp.o
[ 54%] Building CXX object src/pmp/CMakeFiles/pmp.dir/io/write_off.cpp.o
[ 55%] Building CXX object src/pmp/CMakeFiles/pmp.dir/io/write_pmp.cpp.o
[ 56%] Building CXX object src/pmp/CMakeFiles/pmp.dir/io/write_stl.cpp.o
[ 56%] Linking CXX shared library ../../libpmp.so
[ 56%] Built target pmp
Scanning dependencies of target pmp_vis
[ 57%] Building CXX object src/pmp/visualization/CMakeFiles/pmp_vis.dir/mesh_viewer.cpp.o
[ 58%] Building CXX object src/pmp/visualization/CMakeFiles/pmp_vis.dir/renderer.cpp.o
[ 58%] Building CXX object src/pmp/visualization/CMakeFiles/pmp_vis.dir/shader.cpp.o
[ 59%] Building CXX object src/pmp/visualization/CMakeFiles/pmp_vis.dir/trackball_viewer.cpp.o
[ 60%] Building CXX object src/pmp/visualization/CMakeFiles/pmp_vis.dir/window.cpp.o
[ 60%] Linking CXX static library ../../../libpmp_vis.a
[ 60%] Built target pmp_vis
Scanning dependencies of target hole_filling
[ 61%] Building CXX object examples/CMakeFiles/hole_filling.dir/hole_filling.cpp.o
[ 62%] Linking CXX executable ../hole_filling
[ 62%] Built target hole_filling
Scanning dependencies of target remeshing
[ 63%] Building CXX object examples/CMakeFiles/remeshing.dir/remeshing.cpp.o
[ 64%] Linking CXX executable ../remeshing
[ 64%] Built target remeshing
Scanning dependencies of target mpview
[ 65%] Building CXX object examples/CMakeFiles/mpview.dir/mpview.cpp.o
[ 66%] Building CXX object examples/CMakeFiles/mpview.dir/mesh_processing_viewer.cpp.o
[ 66%] Linking CXX executable ../mpview
[ 66%] Built target mpview
Scanning dependencies of target basics
[ 66%] Building CXX object examples/CMakeFiles/basics.dir/basics.cpp.o
[ 67%] Linking CXX executable ../basics
[ 67%] Built target basics
Scanning dependencies of target smoothing
[ 67%] Building CXX object examples/CMakeFiles/smoothing.dir/smoothing.cpp.o
[ 68%] Linking CXX executable ../smoothing
[ 68%] Built target smoothing
Scanning dependencies of target iterators
[ 69%] Building CXX object examples/CMakeFiles/iterators.dir/iterators.cpp.o
[ 69%] Linking CXX executable ../iterators
[ 69%] Built target iterators
Scanning dependencies of target eigen
[ 69%] Building CXX object examples/CMakeFiles/eigen.dir/eigen.cpp.o
[ 70%] Linking CXX executable ../eigen
[ 70%] Built target eigen
Scanning dependencies of target barycenter
[ 70%] Building CXX object examples/CMakeFiles/barycenter.dir/barycenter.cpp.o
[ 71%] Linking CXX executable ../barycenter
[ 71%] Built target barycenter
Scanning dependencies of target mview
[ 72%] Building CXX object examples/CMakeFiles/mview.dir/mview.cpp.o
[ 73%] Linking CXX executable ../mview
[ 73%] Built target mview
Scanning dependencies of target mconvert
[ 74%] Building CXX object examples/CMakeFiles/mconvert.dir/mconvert.cpp.o
[ 74%] Linking CXX executable ../mconvert
[ 74%] Built target mconvert
Scanning dependencies of target parameterization
[ 74%] Building CXX object examples/CMakeFiles/parameterization.dir/parameterization.cpp.o
[ 75%] Linking CXX executable ../parameterization
[ 75%] Built target parameterization
Scanning dependencies of target properties
[ 76%] Building CXX object examples/CMakeFiles/properties.dir/properties.cpp.o
[ 76%] Linking CXX executable ../properties
[ 76%] Built target properties
Scanning dependencies of target fairing
[ 77%] Building CXX object examples/CMakeFiles/fairing.dir/fairing.cpp.o
[ 77%] Linking CXX executable ../fairing
[ 77%] Built target fairing
Scanning dependencies of target curvature
[ 78%] Building CXX object examples/CMakeFiles/curvature.dir/curvature.cpp.o
[ 78%] Linking CXX executable ../curvature
[ 78%] Built target curvature
Scanning dependencies of target decimation
[ 79%] Building CXX object examples/CMakeFiles/decimation.dir/decimation.cpp.o
[ 80%] Linking CXX executable ../decimation
[ 80%] Built target decimation
Scanning dependencies of target io
[ 80%] Building CXX object examples/CMakeFiles/io.dir/io.cpp.o
[ 81%] Linking CXX executable ../io
[ 81%] Built target io
Scanning dependencies of target subdivision
[ 81%] Building CXX object examples/CMakeFiles/subdivision.dir/subdivision.cpp.o
[ 82%] Linking CXX executable ../subdivision
[ 82%] Built target subdivision
Scanning dependencies of target googletest
[ 83%] Building CXX object tests/CMakeFiles/googletest.dir/__/external/googletest-1.13.0/googletest/src/gtest-all.cc.o
[ 83%] Building CXX object tests/CMakeFiles/googletest.dir/__/external/googletest-1.13.0/googletest/src/gtest_main.cc.o
[ 84%] Linking CXX static library ../libgoogletest.a
[ 84%] Built target googletest
Scanning dependencies of target gtest_runner
[ 85%] Building CXX object tests/CMakeFiles/gtest_runner.dir/curvature_test.cpp.o
[ 85%] Building CXX object tests/CMakeFiles/gtest_runner.dir/decimation_test.cpp.o
[ 86%] Building CXX object tests/CMakeFiles/gtest_runner.dir/differential_geometry_test.cpp.o
[ 87%] Building CXX object tests/CMakeFiles/gtest_runner.dir/distance_point_triangle_test.cpp.o
[ 87%] Building CXX object tests/CMakeFiles/gtest_runner.dir/eigen_test.cpp.o
[ 88%] Building CXX object tests/CMakeFiles/gtest_runner.dir/fairing_test.cpp.o
[ 88%] Building CXX object tests/CMakeFiles/gtest_runner.dir/features_test.cpp.o
[ 89%] Building CXX object tests/CMakeFiles/gtest_runner.dir/geodesics_test.cpp.o
[ 90%] Building CXX object tests/CMakeFiles/gtest_runner.dir/helpers.cpp.o
[ 90%] Building CXX object tests/CMakeFiles/gtest_runner.dir/hole_filling_test.cpp.o
[ 91%] Building CXX object tests/CMakeFiles/gtest_runner.dir/io_test.cpp.o
[ 92%] Building CXX object tests/CMakeFiles/gtest_runner.dir/iterator_test.cpp.o
[ 92%] Building CXX object tests/CMakeFiles/gtest_runner.dir/laplace_test.cpp.o
[ 93%] Building CXX object tests/CMakeFiles/gtest_runner.dir/normals_test.cpp.o
[ 94%] Building CXX object tests/CMakeFiles/gtest_runner.dir/numerics_test.cpp.o
[ 94%] Building CXX object tests/CMakeFiles/gtest_runner.dir/parameterization_test.cpp.o
[ 95%] Building CXX object tests/CMakeFiles/gtest_runner.dir/remeshing_test.cpp.o
[ 95%] Building CXX object tests/CMakeFiles/gtest_runner.dir/shapes_test.cpp.o
[ 96%] Building CXX object tests/CMakeFiles/gtest_runner.dir/smoothing_test.cpp.o
[ 97%] Building CXX object tests/CMakeFiles/gtest_runner.dir/subdivision_test.cpp.o
[ 97%] Building CXX object tests/CMakeFiles/gtest_runner.dir/surface_mesh_test.cpp.o
[ 98%] Building CXX object tests/CMakeFiles/gtest_runner.dir/triangulation_test.cpp.o
[100%] Building CXX object tests/CMakeFiles/gtest_runner.dir/utilities_test.cpp.o
[100%] Linking CXX executable gtest_runner
[100%] Built target gtest_runner
xj@xj:~/VS2024/pmp-library/build$ 
  1. 结果
    输入下面代码就能打开测试程序啦!!!
./mpview ../data/off/bunny.off

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/32703.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Bandzip:打破压缩界限,文件管理更高效

名人说&#xff1a;&#xff1a;一点浩然气&#xff0c;千里快哉风。 ——苏轼 创作者&#xff1a;Code_流苏(CSDN)&#xff08;一个喜欢古诗词和编程的Coder&#x1f60a;&#xff09; 目录 一、软件介绍1、Bandzip2、核心特点 二、下载安装1、下载2、安装 三、使用方法 很高兴…

C语言中操作符详解(二)

OK&#xff0c;今天继续为诸君带来有关C语言中操作符的讲解 一 . 位操作符 C语言中的位操作符我相信大家并不陌生&#xff0c;我们在之前就已经接触过了一些 位操作符&#xff08;位操作符的操作数只能是整数&#xff09;&#xff1a; &#xff08;1&#xff09;& &…

Origin较好用的科研绘图软件

推荐自己也在用的科研绘图软件Origin图所示&#xff1a; 图1 图2 图3

WMS项目测试点

这里写目录标题 最后附有图片 仓库系统 仓库 / 库区 仓库 新增仓库 编号 必填校验 字段长度校验 20为字符 数据类型校验 名称 必填校验 字段长度校验 20为字符 数据类型校验 备注 填写备注校验 字符长度限制 不填写备注校验 新增仓库之后是否可以通过查询仓库名称和仓库编号查询…

poi生成的excel,输入数字后变成1.11111111111111E+23

poi版本4.1.2 生成excel后&#xff0c;单元格输入数字&#xff0c;过长的话变成这样 解决&#xff1a;生成的时候设置单元格格式为文本格式 import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook;import java.io.FileOutputStream; imp…

数据结构与算法笔记:基础篇 - 初始动态规划:如何巧妙解决“双十一”购物时的凑单问题?

概述 淘宝的 “双十一” 购物节有各种促销活动&#xff0c;比如 “满 200 元减 50元”。假设你女朋友购物车中有 n 个&#xff08;n > 100&#xff09;想买的商品&#xff0c;它希望从里面选几个&#xff0c;在凑够满减条件的前提下&#xff0c;让选出来的商品价格总和最长…

学习笔记——路由网络基础——路由转发

六、路由转发 1、最长匹配原则 最长匹配原则 是支持IP路由的设备默认的路由查找方式(事实上几乎所有支持IP路由的设备都是这种查找方式)。当路由器收到一个IP数据包时&#xff0c;会将数据包的目的IP地址与自己本地路由表中的表项进行逐位(Bit-By-Bit)的逐位查找&#xff0c;…

一元线性回归模型 多元线性回归模型回归模型评估

本人详解 作者:王文峰,参加过 CSDN 2020年度博客之星,《Java王大师王天师》 公众号:JAVA开发王大师,专注于天道酬勤的 Java 开发问题中国国学、传统文化和代码爱好者的程序人生,期待你的关注和支持!本人外号:神秘小峯 山峯 转载说明:务必注明来源(注明:作者:王文峰…

Vue41 ref属性

ref属性 ref是Vue提供的获取组件的属性 <template><div><h1 v-text"msg" ref"title"></h1><button ref"btn" click"showDOM">点我输出上方的DOM元素</button><MySchool ref"sch"…

若依微服务项目09 - swagger如何不显示某个模块的接口文档

在若依微服务项目中&#xff0c;如果不想暴露某个模块的swagger的接口文档&#xff0c;需要怎么做&#xff1f; 本文以ruoyi-gen模块进行举例说明。 默认情况下&#xff0c;可以看到这里包含了ruoyi-gen模块&#xff0c;我们要做的是&#xff0c;要将ruoyi-gen进行隐藏。 最终的…

计算机网络 静态路由及动态路由RIP

一、理论知识 1.静态路由 静态路由是由网络管理员手动配置在路由器上的固定路由路径。其优点是简单和对网络拓扑变化不敏感&#xff0c;缺点是维护复杂、易出错&#xff0c;且无法自动适应网络变化。 2.动态路由协议RIP RIP是一种基于距离向量的动态路由协议。它使用跳数作…

springboot+vue+mysql+mybatis 二手交易平台

springbootvuemysqlmybatis 二手交易平台 相关技术 javaspringbootmybatismysqlvueelementui

vscode用vue框架2,续写登陆页面逻辑,以及首页框架的搭建

目录 前言&#xff1a; 一、实现登录页信息验证逻辑 1.实现登录数据双向绑定 2.验证用户输入数据是否和默认数据相同 补充知识1&#xff1a; 知识点补充2&#xff1a; 二、首页和登录页之间的逻辑(1) 1. 修改路由&#xff0c;使得程序被访问先访问首页 知识点补充3&am…

【STM32】STM32通过I2C实现温湿度采集与显示

目录 一、I2C总线通信协议 1.I2C通信特征 2.I2C总线协议 3.软件I2C和硬件I2C 二、stm32通过I2C实现温湿度&#xff08;AHT20&#xff09;采集 1.stm32cube配置 RCC配置&#xff1a; SYS配置&#xff1a; I2C1配置&#xff1a; USART1配置&#xff1a; GPIO配置&#…

二叉树经典OJ练习

个人主页&#xff1a;C忠实粉丝 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 C忠实粉丝 原创 二叉树经典OJ练习 收录于专栏【数据结构初阶】 本专栏旨在分享学习数据结构学习的一点学习笔记&#xff0c;欢迎大家在评论区交流讨论&#x1f48c; 目录 前置说…

八、(正点原子)Linux内核定时器实验

定时器是我们最常用到的功能&#xff0c;一般用来完成定时功能&#xff0c;本章我们就来学习一下 Linux 内核提供的定时器 API 函数&#xff0c;通过这些定时器 API 函数我们可以完成很多要求定时的应用。 Linux内核也提供了短延时函数&#xff0c;比如微秒、纳秒、毫秒延时函数…

【Linux基础】SSH登录

SSH简介 安全外壳协议&#xff08;Secure Shell Protocol&#xff0c;简称SSH&#xff09;是一种加密的网络传输协议&#xff0c;可在不安全的网络中为网络服务提供安全的传输环境。 SSH通过在网络中建立安全隧道来实现SSH客户端与服务器之间的连接。 SSH最常见的用途是远程登…

LeetCode 算法:二叉树的最大深度 c++

原题链接&#x1f517;&#xff1a;二叉树的最大深度 难度&#xff1a;简单⭐️ 题目 给定一个二叉树 root &#xff0c;返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,…

【高考选专业 | 家长篇】2024,计算机何去何从?小P老师带你看

目录 2024年&#xff0c;计算机相关专业还值得选择吗&#xff1f;1.行业竞争现状2.专业前景分析 2024年&#xff0c;计算机相关专业还值得选择吗&#xff1f; 随着2024年高考落幕&#xff0c;数百万高三学生又将面临人生中的重要抉择&#xff1a;选择大学专业。有人欢喜&#x…

操作系统真象还原:用户进程

第11章-用户进程 这是一个网站有所有小节的代码实现&#xff0c;同时也包含了Bochs等文件 11.1 为什么要有任务状态TSS Linux 任务切换未采用 Intel 的做法&#xff0c;而是用了一套自己的方法&#xff0c;只是用了 TSS 的一小部分功能。 操作系统最直接控制的就是 CPU&…