0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

VTKのインストールに挑戦した記録(Windows編)

Last updated at Posted at 2025-09-27

VTKをWindowsにインストールするまでに

はじめに

VTKとは
正式名称: Visualization Toolkit

役割: 科学技術計算や医用画像処理の「可視化ライブラリ」

  • 3Dグラフィックス(点群・メッシュ・体積データ)の表示
  • CT/MRIなど医用画像(DICOM)の読み込み・レンダリング
  • CFDや有限要素法(FEM)のシミュレーション結果を可視化
  • 等値面抽出(isosurface)、ボリュームレンダリング、ストリームライン表示など

開発環境

  • Windows 11
  • Visual Studio 2022 (Community)
  • vcpkg 最新版
  • CMake 3.31.9(途中でアンインストール)

手順とつまずきポイント

1. vcpkgの準備

まずはvcpkgを用意します。

git clone https://github.com/microsoft/vcpkg.git
cd vcpkg
bootstrap-vcpkg.bat

2. CMakeのアンインストール

その後 [pugixml] Build error on x64-windows #42385 に遭遇。

エラーログ

-- Extracting source C:/vcpkg_clean/downloads/zeux-pugixml-v1.15.tar.gz
CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:127 (message):
Command failed: "C:/Program Files/CMake/bin/cmake.exe" -E tar xjf C:/vcpkg_clean/downloads/zeux-pugixml-v1.15.tar.gz
Working Directory: C:/vcpkg_clean/buildtrees/pugixml/src/v1.15-8a9beec4a5.clean.tmp
Error code: 1

原因

  • -E tar xjfbzip2(.tar.bz2) 用のフラグ。
  • 実体は .tar.gz (gzip) だったため展開に失敗。
    その他のtar.gzは展開可能だがzeux-pugixml-v1.15.tar.gzは失敗
  • さらに、Visual Studio付属のCMakeと手動インストールしたCMakeが混在し、誤ったCMakeが呼ばれていました。

解決

  • 手動インストールしたCMakeをアンインストールし、競合を解消。
  • vcpkgが 必要なバージョンのCMakeを downloads/tools/ 以下に自動取得して使用するようになり、エラーが解消。

👉 学び:CMakeは必ずしもグローバルインストール不要。vcpkgに任せるのが安定。


3. クラシックモードでの限界

VTKパッケージ内のseacasのインストールで失敗
クラシックモード(vcpkg install vtk)で挑戦しましたが、

fatal error C1083: 'GKlib.h': No such file or directory

依存関係が複雑で、クラシックモードでは解決困難でした。
必要なものだけ個別にインストールすることにしました...


4. マニフェストモードに切り替え

そこで マニフェストモード に移行。
プロジェクトルートに vcpkg.json を置きます。

{
  "name": "vtk-min",
  "version": "0.1.0",
  "dependencies": [
    { "name": "vtk", "default-features": false, "features": ["qt"] }
  ]
}

グローバルで管理のクラシックモードよりプロジェクトごとに管理できるため便利かも
毎回 .jsonを書くのは面倒だが....

# vcpkg ルート(任意。C:\vcpkg を使っている想定)
setx VCPKG_ROOT C:\vcpkg_clean

# マニフェストでもグローバル installed を使わせる
setx VCPKG_INSTALLED_DIR C:\vcpkg_clean\installed

# ダウンロードキャッシュも共通化
setx VCPKG_DOWNLOADS C:\vcpkg_clean\downloads

マニフェストの既定は「プロジェクトローカルに隔離」だから
今回、VCPKG_INSTALLED_DIR を指定して“集約先”を明示しました。


5. インストール実行

以下の手順でCMakeからビルドを実行。

cmake -B build -S . -DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake
cmake --build build

まとめ

  • CMakeはグローバル必須ではない → vcpkgが最適バージョンを自動取得。
  • Visual Studio付属CMakeと競合 → 手動インストールCMakeは不要なら削除。
  • クラシックモードは依存解決で苦戦しやすい → マニフェストモードが安定。
  • pugixml / seacas でハマったが、CMake整理+マニフェスト移行で解決。
  • セキュリティソフトも意外な落とし穴になる。
    (最初、ノートンにブロックされビルドした.exeがはじかれる)
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?