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

news2024/11/24 20:28:04

多边形网格处理库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.coloradmin.cn/o/1870156.html

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

相关文章

知识图谱——Neo4j数据库实战

数据与代码链接见文末 1.Neo4j数据库安装 JDK 安装:https://www.oracle.com/java/technologies/javase-downloads.html Neo4j 安装:https://neo4j.com/download-center/ 配置好 JDK 和 Neo4j 的环境变量

多电商账户为什么要用指纹浏览器?

随着电子商务的蓬勃发展&#xff0c;越来越多的商家选择开设多店来扩大经营规模。然而多店运营也带来了一系列的挑战&#xff0c;其中之一就是账号安全。 1. 了解反检测浏览器和代理服务器 在我们开始讨论如何有效地使用反检测浏览器之前&#xff0c;我们首先需要了解这两个工…

Excel 宏录制与VBA编程 —— 12、文本字符串类型相关(转换、拆分、分割、连接、替换、查找、“Like“)

字符串分割&#xff0c;文末示例&#xff08;文末代码3附有源码&#xff09; 代码1 - 基础字符串 代码2 - 字符串拆分 代码3 - 字符串分割 Option ExplicitSub WorkbooksClear()Dim DataRange As RangeSet DataRange Range("C2:E12")DataRange.Clear End SubSub Wo…

爆火网络的 AI 粘土风照片,如何用免费的AI绘画工具Stable Diffusion实现?只需一个Lora即可轻松解决!

大家好&#xff0c;我是画画的小强 最近粘土滤镜照片在小某书上爆火&#xff0c;随便一翻就出现好多 这些丑可爱丑可爱的粘土滤镜是这样紫。 这些照片都是通过手机APP Remini 来转绘的。Remini原来是由国人开发&#xff0c;据说卖给了国外公司&#xff0c;现在排在了谷歌商店下…

最年轻获奖者诞生!一文带你了解历届国家最高科学技术奖获奖人

内容来源&#xff1a;量子前哨&#xff08;ID&#xff1a;Qforepost&#xff09; 文丨浪味仙 排版丨沛贤 深度好文&#xff1a;4000字丨15分钟阅读 作为国家层面面向科学、技术领域的最高级别奖励&#xff0c;国家最高科学技术奖于 2000 年由国务院设立&#xff0c;每年评选…

8. Revit API UI: DockablePane(可停靠窗口)

8. Revit API UI: DockablePane&#xff08;可停靠窗口&#xff09; 接着前面的预览控件和外部事件&#xff0c;这一篇&#xff0c;我们来看看可停靠窗口DockablePane的实现。 实现流程 可停靠窗口相关的类与接口主要有DockablePane和IDockablePageProvider&#xff0c;都是…

探索Facebook的未来世界:数字社交的演进之路

在数字化和全球化的浪潮中&#xff0c;社交网络如Facebook已经成为了人们日常生活不可或缺的一部分。然而&#xff0c;随着技术的迅猛发展和用户需求的不断变化&#xff0c;Facebook正在经历着社交平台的演进之路。本文将探索Facebook的未来世界&#xff0c;分析数字社交的发展…

Android 13 为应用创建快捷方式

参考 developer.android.google.cn 创建快捷方式 来自官网的说明&#xff1a; 静态快捷方式 &#xff1a;最适合在用户与应用互动的整个生命周期内使用一致结构链接到内容的应用。由于大多数启动器一次仅显示四个快捷方式&#xff0c;因此静态快捷方式有助于以一致的方式执行…

ADC位数、增益调制与参考电压

位数&#xff1a;12bit、10bit、8bit 一般就是对应的ADC值分别为&#xff1a;4095、1023、255&#xff0c;也就选用对应位数时ADC的最大值。 增益的作用 增益设置用于放大或缩小输入信号&#xff0c;使其适配到ADC的输入范围。增益设置可以通过配置SAADC的通道配置寄存器来实…

第一后裔The First Descendant开服时间、配置要求一览

第一后裔是一款采用虚幻5引擎打造的第三人称合作射击动作RPG&#xff0c;玩家将化身为一名继承者&#xff0c;通过各种任务和故事不断成长&#xff0c;为守护人类与对抗侵略者战斗。该作即将上线&#xff0c;为了不让玩家们错过这款精彩的游戏&#xff0c;本文整理了第一后裔上…

[行业原型] Web端原型案例:康欣医疗后台管理系统

​医疗管理系统是一个业务复杂&#xff0c;功能庞大的系统&#xff0c;以下为HIS医院管理系统的常见模块&#xff0c;供大家参考。 本周为大家带来Web端原型案例&#xff1a;康欣医疗后台管理系统&#xff0c;先上原型&#xff1a; 完整文档加班主任微信号 添加班主任回复 “1…

推荐两款电脑文件处理工具,强大到你不舍得卸载

EasyFileCount EasyFileCount是一款基于Java开发的多功能文件管理工具&#xff0c;旨在帮助用户更轻松地管理和优化他们的文件存储。以下是EasyFileCount的主要功能和特点&#xff1a; 查看文件夹大小&#xff1a;用户可以快速统计和查看文件夹的总大小&#xff0c;实时显示各…

基于C++实现的EventLoop与事件驱动编程

一&#xff0c;概念介绍 事件驱动编程&#xff08;Event-Driven&#xff09;是一种编码范式&#xff0c;常被应用在图形用户界面&#xff0c;应用程序&#xff0c;服务器开发等场景。 采用事件驱动编程的代码中&#xff0c;通常要有事件循环&#xff0c;侦听事件&#xff0c;…

Qt样式表及相关案例

一.Qt样式表介绍 Qt样式表是一个可以自定义部件外观的强大机制&#xff0c;样式表的概念、术语、语法均受到HTML的层叠样式表(Cascading Style Sheets,CSS)的启发。 样式表可通过QApplication::setStyleSheet()函数将其设置到整个应用程序上&#xff0c;也可以使用QWidget::se…

突然!某大客户核心凌晨突然崩溃....

这几天实在太忙&#xff0c;刚弄完文档。业务线的同事就找到我&#xff0c;说一个银行客户的核心系统昨晚出了故障&#xff0c;还没找到原因&#xff0c;希望能帮忙分析下。 从提供的信息来看是业务跑任务报错&#xff0c;遇到了Oracle-00600和ora-07445 错误。 Doing block re…

使用Python实现深度学习模型通常涉及以下几个步骤

学习总结 1、掌握 JAVA入门到进阶知识(持续写作中……&#xff09; 2、学会Oracle数据库入门到入土用法(创作中……&#xff09; 3、手把手教你开发炫酷的vbs脚本制作(完善中……&#xff09; 4、牛逼哄哄的 IDEA编程利器技巧(编写中……&#xff09; 5、面经吐血整理的 面试技…

2024年【焊工(初级)】实操考试视频及焊工(初级)考试试题

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 焊工&#xff08;初级&#xff09;实操考试视频根据新焊工&#xff08;初级&#xff09;考试大纲要求&#xff0c;安全生产模拟考试一点通将焊工&#xff08;初级&#xff09;模拟考试试题进行汇编&#xff0c;组成一…

Windows条件竞争提权漏洞复现(CVE-2024-300889)

漏洞原理 当内核将当前令牌对象的 _AUTHZBASEP_SECURITY_ATTRIBUTES_INFORMATION 复制到用户模式时&#xff0c;错误位于函数 AuthzBasepCopyoutInternalSecurityAttributes 内部&#xff0c;该模式的结构如下&#xff1a; //0x30 bytes (sizeof) struct _AUTHZBASEP_SECURIT…

有哪些方法可以恢复ios15不小心删除的照片?

ios15怎么恢复删除的照片&#xff1f;在手机相册里意外删除了重要的照片&#xff1f;别担心&#xff01;本文将为你介绍如何在iOS 15系统中恢复已删除的照片。无需专业知识&#xff0c;只需要按照以下步骤操作&#xff0c;你就能轻松找回宝贵的回忆。 一、从iCloud云端恢复删除…

台式机通过网线直连笔记本,台式机通过笔记本上网【解决台式机没有网络的问题】

一、总览 将笔记本电脑和台式机使用网线连接起来。在笔记本电脑上打开网络和共享中心&#xff0c;进入“更改适配器设置”选项&#xff0c;找到当前连接的网卡&#xff0c;右键点击选择“属性”。在网卡属性中&#xff0c;找到“共享”选项卡&#xff0c;勾选“允许其他网络用…