网格处理库 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

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python功能制作之使用streamlit做一个简单的WebUI

使用Streamlit创建WebUI 1. 什么是Streamlit Streamlit 是一个开源的Python库&#xff0c;用于快速创建美观的Web应用。 它适合数据科学家和机器学习工程师&#xff0c;因为它能够以最小的代码量将数据应用程序带到浏览器中。通过简单的Python脚本&#xff0c;可以创建交互式…

C++中的三大池:线程池,内存池,数据库连接池

C中有三大池&#xff0c;即我们常说的&#xff1a;线程池&#xff0c;内存池&#xff0c;数据库连接池。 一.线程池 多线程同时访问共享资源造成数据混乱的原因就是因为CPU的上下文切换导致&#xff0c;线程池就是为了解决此问题而生。 多线程常用的有&#xff1a;std::threa…

基于Spring Boot的校园失物招领系统

1 项目介绍 1.1 研究的背景及意义 在网络时代飞速发展的今天&#xff0c;随着网络技术日臻完善&#xff0c;我们的生活方式正经历深刻变革。在物质追求日益增长的同时&#xff0c;提升个人精神境界也成为了现代人的共同向往&#xff0c;而阅读则是滋养心灵、丰富精神世界的重…

【SpringBoot3学习 | 第1篇】SpringBoot3介绍与配置文件

文章目录 前言 一. SpringBoot3介绍1.1 SpringBoot项目创建1. 创建Maven工程2. 添加依赖(springboot父工程依赖 , web启动器依赖)3. 编写启动引导类(springboot项目运行的入口)4. 编写处理器Controller5. 启动项目 1.2 项目理解1. 依赖不需要写版本原因2. 启动器(Starter)3. Sp…

C++——探索智能指针的设计原理

前言: RAII是资源获得即初始化&#xff0c; 是一种利用对象生命周期来控制程序资源地手段。 智能指针是在对象构造时获取资源&#xff0c; 并且在对象的声明周期内控制资源&#xff0c; 最后在对象析构的时候释放资源。注意&#xff0c; 本篇文章参考——C 智能指针 - 全部用法…

Arduino - TM1637 4 位 7 段显示器

Arduino - TM1637 4 位 7 段显示器 Arduino-TM1637 4 位 7 段显示器 A standard 4-digit 7-segment display is needed for clock, timer and counter projects, but it usually requires 12 connections. The TM1637 module makes it easier by only requiring 4 connectio…

电通出席2024年世界经济论坛(WEF),重申推动可持续发展创新和人才培育的承诺

中国&#xff0c;上海——电通将出席世界经济论坛2024年新领军者年会&#xff08;夏季达沃斯&#xff09;&#xff0c;本次大会将于6月25日至6月27日在中国大连举行。 2024年世界经济论坛主题为“未来增长的新前沿”&#xff0c;将聚焦于全球经济复苏、通胀缓解&#xff0c;以…

计算机毕业设计Python+Spark知识图谱微博预警系统 微博推荐系统 微博可视化 微博数据分析 微博大数据 微博爬虫 微博预测系统 大数据毕业设计

课题名称 基于Bert模型对微博的言论情感分析设计与实现 课题来源 课题类型 BY 指导教师 学生姓名 专 业 计算机科学与技术 学 号 开题报告内容&#xff1a;&#xff08;调研资料的准备&#xff0c;设计/论文的目的、要求、思路与预期成果&#xff1b;…

汽车免拆诊断案例 | 2016 款吉利帝豪EV车无法加速

故障现象 一辆2016款吉利帝豪EV车&#xff0c;累计行驶里程约为28.4万km&#xff0c;车主反映车辆无法加速。 故障诊断 接车后路试&#xff0c;行驶约1 km&#xff0c;踩下加速踏板&#xff0c;无法加速&#xff0c;车速为20 km/h左右&#xff0c;同时组合仪表上的电机及控制…

CST--如何在PCB三维模型中自由创建离散端口

在使用CST电磁仿真软件进行PCB的三维建模时&#xff0c;经常会遇到不能自动创建离散端口的问题&#xff0c;原因有很多&#xff0c;比如&#xff1a;缺少元器件封装、开路端口、多端子模型等等&#xff0c;这个时候&#xff0c;很多人会选择手动进行端口创建&#xff0c;但是&a…

centos 7.2 离线部署 mysql 5.7.37

1.安装依赖 清楚mysql从图的依赖 rpm -qa|grep mariadb 存在冲突依赖,进行卸载 rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64 确认gcc版本 ldd --version 安装mysql5.7所需要的依赖 mkdir -p /root/AllInstalls 只下载不安装,用于放到其他机器: yum inst…

Java对象创建过程

在日常开发中&#xff0c;我们常常需要创建对象&#xff0c;那么通过new关键字创建对象的执行中涉及到哪些流程呢&#xff1f;本文主要围绕这个问题来展开。 类的加载 创建对象时我们常常使用new关键字。如下 ObjectA o new ObjectA();对虚拟机来讲首先需要判断ObjectA类的…

一款轻量级的通信协议---MQTT (内含Linux环境搭建)

目录 MQTT MQTT的关键特点&#xff1a; 应用场景 Linux环境搭建&#xff1a; 1. 安装mosquitto 2. Linux下客户端进行通信 3. PC端和Linux下进行通信 安装MQTT. fx 4. MQTT.fx的使用 1. 点击连接 ​编辑 2. 连接成功 3. 订阅主题或者给别的主题发送消息 遇到的问…

Qt 5.14.2+Android环境搭建

1. 安装QT5.14.2的过程中&#xff0c;选中套件&#xff08;kit&#xff09; qt for android。 如果已经安装了qt creator但没有安装该套件&#xff0c;可以找到在qt安装目录下的MaintenanceTool.exe&#xff0c;运行该程序添加套件。 2. 安装jdk8&#xff0c;android sdk&…

2.1 大语言模型的训练过程 —— 《带你自学大语言模型》系列

《带你自学大语言模型》系列部分目录及计划&#xff0c;完整版目录见&#xff1a; 带你自学大语言模型系列 —— 前言 第一部分 走进大语言模型&#xff08;科普向&#xff09; 第一章 走进大语言模型1.1 从图灵机到GPT&#xff0c;人工智能经历了什么&#xff1f;1.2 如何让…

【全球首个开源AI数字人】DUIX数字人-打造你的AI伴侣!

目录 1. 引言1.1 数字人技术的发展背景1.2 DUIX数字人项目的开源意义1.3 DUIX数字人技术的独特价值1.4 本文目的与结构 2. DUIX数字人概述2.1 定义与核心概念2.2 硅基智能与DUIX的关系2.3 技术架构2.4 开源优势2.5 应用场景2.6 安全与合规性 3. DUIX数字人技术特点3.1 开源性与…

数据结构-分析期末选择题考点(图)

我是梦中传彩笔 欲书花叶寄朝云 目录 图的常见考点&#xff08;一&#xff09;图的概念题 图的常见考点&#xff08;二&#xff09;图的邻接矩阵、邻接表 图的常见考点&#xff08;三&#xff09;拓扑排序 图的常见考点&#xff08;四&#xff09;关键路径 图的常见考点&#x…

List接口, ArrayList Vector LinkedList

Collection接口的子接口 子类Vector&#xff0c;ArrayList&#xff0c;LinkedList 1.元素的添加顺序和取出顺序一致&#xff0c;且可重复 2.每个元素都有其对应的顺序索引 方法 在index 1 的位置插入一个对象&#xff0c;list.add(1,list2)获取指定index位置的元素&#…

【你也能从零基础学会网站开发】认识数据库和数据库中的基本概念

&#x1f680; 个人主页 极客小俊 ✍&#x1f3fb; 作者简介&#xff1a;程序猿、设计师、技术分享 &#x1f40b; 希望大家多多支持, 我们一起学习和进步&#xff01; &#x1f3c5; 欢迎评论 ❤️点赞&#x1f4ac;评论 &#x1f4c2;收藏 &#x1f4c2;加关注 学习目标 认识…

VMware ESXi 8.0U3 macOS Unlocker OEM BIOS 集成驱动版,新增 12 款 I219 网卡驱动

VMware ESXi 8.0U3 macOS Unlocker & OEM BIOS 集成驱动版&#xff0c;新增 12 款 I219 网卡驱动 VMware ESXi 8.0U3 macOS Unlocker & OEM BIOS 集成网卡驱动和 NVMe 驱动 (集成驱动版) 发布 ESXi 8.0U3 集成驱动版&#xff0c;在个人电脑上运行企业级工作负载 请访…