From b219dfeae10bab9ae650820a64799635881e049a Mon Sep 17 00:00:00 2001 From: gaozheng Date: Sun, 7 Jun 2026 18:41:24 +0800 Subject: [PATCH] =?UTF-8?q?build:=20VTK=20=E6=94=B9=E7=94=A8=209.6.2(?= =?UTF-8?q?=E5=AF=B9=20Qt6.11=20=E5=85=BC=E5=AE=B9=E6=9B=B4=E5=A5=BD),=20?= =?UTF-8?q?=E6=BA=90=E7=A0=81/=E6=9E=84=E5=BB=BA=E6=94=BE=20D:;=20?= =?UTF-8?q?=E5=86=92=E7=83=9F=E7=A8=8B=E5=BA=8F=E7=94=A8=20Release=20?= =?UTF-8?q?=E9=A2=84=E8=AE=BE=E5=8C=B9=E9=85=8D=20Release=20VTK?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CMakePresets.json | 2 +- docs/ENV_SETUP_Windows.md | 29 +++++++++++++++-------------- 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/CMakePresets.json b/CMakePresets.json index 08c691f..aef7804 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -13,7 +13,7 @@ "VCPKG_TARGET_TRIPLET": "x64-windows", "CMAKE_EXPORT_COMPILE_COMMANDS": "ON", "CMAKE_PREFIX_PATH": "D:/Qt/6.11.1/msvc2022_64", - "VTK_DIR": "${sourceDir}/external/vtk-install/lib/cmake/vtk-9.3" + "VTK_DIR": "${sourceDir}/external/vtk-install/lib/cmake/vtk-9.6" } }, { diff --git a/docs/ENV_SETUP_Windows.md b/docs/ENV_SETUP_Windows.md index 4fad8d3..e797233 100644 --- a/docs/ENV_SETUP_Windows.md +++ b/docs/ENV_SETUP_Windows.md @@ -99,21 +99,22 @@ CMake 经 `CMAKE_PREFIX_PATH=D:/Qt/6.11.1/msvc2022_64` 找到它(见 §6 预设) ### 5.2 VTK 源码编到 install 前缀(用官方 Qt) -```powershell -# 在 x64 Native Tools for VS18 命令行 -git clone --depth 1 --branch v9.3.1 https://gitlab.kitware.com/vtk/vtk.git C:\dev\vtk-src -cmake -S C:\dev\vtk-src -B C:\dev\vtk-build -G Ninja ` - -D CMAKE_BUILD_TYPE=Release ` - -D VTK_GROUP_ENABLE_Qt=YES ` - -D VTK_MODULE_ENABLE_VTK_GUISupportQt=YES ` - -D Qt6_DIR="D:/Qt/6.11.1/msvc2022_64/lib/cmake/Qt6" ` - -D CMAKE_PREFIX_PATH="D:/Qt/6.11.1/msvc2022_64" ` - -D BUILD_SHARED_LIBS=ON -D VTK_BUILD_TESTING=OFF -D VTK_BUILD_EXAMPLES=OFF ` - -D CMAKE_INSTALL_PREFIX="D:/Git/lanbingtech/geopro/external/vtk-install" -cmake --build C:\dev\vtk-build --target install +实机用 **VTK 9.6.2**(最新稳定,对 Qt 6.11 兼容最好),源码/构建全放 **D:**(C: 仅剩 ~1GB)。脚本见 `external/build_vtk.bat`(已 .gitignore),要点: + +```bat +call "\VC\Auxiliary\Build\vcvars64.bat" +git clone --depth 1 --branch v9.6.2 https://gitlab.kitware.com/vtk/vtk.git D:\dev\vtk-src +cmake -S D:\dev\vtk-src -B D:\dev\vtk-build -G Ninja ^ + -D CMAKE_BUILD_TYPE=Release -D BUILD_SHARED_LIBS=ON ^ + -D VTK_GROUP_ENABLE_Qt=YES -D VTK_MODULE_ENABLE_VTK_GUISupportQt=YES ^ + -D Qt6_DIR=D:/Qt/6.11.1/msvc2022_64/lib/cmake/Qt6 ^ + -D CMAKE_PREFIX_PATH=D:/Qt/6.11.1/msvc2022_64 ^ + -D VTK_BUILD_TESTING=OFF -D VTK_BUILD_EXAMPLES=OFF ^ + -D CMAKE_INSTALL_PREFIX=D:/Git/lanbingtech/geopro/external/vtk-install +cmake --build D:\dev\vtk-build --target install ``` -完成后 `external/vtk-install/lib/cmake/vtk-9.3` 供 `find_package(VTK)`(已在 `CMakePresets.json` 设 `VTK_DIR`)。`external/` 已 .gitignore。 -> 注:VTK 用 Release 编;Debug app 链 Release VTK 在 Windows 通常可行(VTK 不强依赖 Debug CRT 的 STL 边界),若遇 `/MD` vs `/MDd` 冲突,则再出一份 Debug VTK。spike 阶段确认。 +完成后 `external/vtk-install/lib/cmake/vtk-9.6` 供 `find_package(VTK)`(已在 `CMakePresets.json` 设 `VTK_DIR`)。 +> 注:VTK 用 **Release** 编。因此**冒烟程序也用 `msvc-release` 预设构建**,以匹配 Release VTK + Release Qt(避免 `/MD` vs `/MDd` 混链)。需要 Debug 调试 VTK 时再出一份 Debug VTK。 ---