Windows で TooL のビルド
【概要】
TooL は,OpenGL をもとに動く,OBJ 形式ファイル(Wavefront の obj ファイルと mtl ファイル)の読み込みと描画の機能を持つソフトウェアである.OBJ 形式のメッシュを読み込んで表示するビューワとして使えるほか,ソースコードが公開されているので,C++ のプログラムに組み込んで使うこともできる(ライセンスは GPLv2.利用条件は各自で確認すること).このページでは,Windows 上で Visual Studio 2026 と CMake,および vcpkg(ビルド済みライブラリを取得できるパッケージ管理ツール)を用いて TooL をビルドする手順を説明する.【目次】
前準備
TooL のビルドには,C++ コンパイラ,CMake,画像ライブラリ(JPEG,PNG,TIFF),SDL,Boost,OpenGL 関連のライブラリが必要である.このページでは,これらを個別に用意するのではなく,vcpkg(Microsoft が提供するパッケージ管理ツールで,C++ ライブラリのビルド済みバイナリを取得できる)を使ってまとめて導入する.
前もって決めておく事項
- 作業用ディレクトリ: C:\work(このページでは作業用ディレクトリを C:\work と書く)
前もってインストールしておくべきソフトウェア
- Visual Studio 2026
「C++ によるデスクトップ開発」ワークロードを含めてインストールする.このワークロードには,MSVC(C++ コンパイラ)と CMake ツールが含まれる.
- Git
vcpkg の取得に使う.
- vcpkg
管理者権限でコマンドプロンプトを起動する (手順:Windowsキーまたはスタートメニュー →
cmdと入力 → 右クリック → 「管理者として実行」)。cd C:\ git clone https://github.com/microsoft/vcpkg.git cd vcpkg .\bootstrap-vcpkg.bat
vcpkg 本体を C:\vcpkg に取得し,実行ファイル vcpkg.exe を生成する操作である.
- SDL,画像ライブラリ,Boost のインストール
vcpkg を使い,TooL のビルドに必要なライブラリをインストールする.TooL は SDL 1 系の API をもとに書かれているため,同じ 1 系の SDL を導入する.SDL_image の 1 系(テクスチャ画像の読み込みに使うライブラリ)は vcpkg のパッケージには含まれていないため,JPEG,PNG,TIFF の各画像ライブラリのみを vcpkg で導入し,SDL_image 自体は次項でソースコードからビルドする.
cd C:\vcpkg .\vcpkg install sdl1:x64-windows .\vcpkg install libjpeg-turbo:x64-windows .\vcpkg install libpng:x64-windows .\vcpkg install tiff:x64-windows .\vcpkg install boost-filesystem:x64-windows .\vcpkg install boost-system:x64-windows .\vcpkg integrate install
最後の
vcpkg integrate installは,Visual Studio と CMake が vcpkg のライブラリを自動的に見つけられるようにする設定である. - SDL_image(1 系)のソースコードのビルド
SDL_image の 1 系は,https://github.com/libsdl-org/SDL_image/tree/SDL-1.2 のソースコードから,前項で導入した SDL1,および JPEG,PNG,TIFF の各ライブラリを使ってビルドする.CMakeLists.txt を用意し,前項と同じ vcpkg のツールチェーンファイルを指定してビルドする.
TooL のソースコードのダウンロードと展開
- TooL の Web ページを開く
- ソースコード(TooL-v0.2.5-src.tar.bz2)をダウンロードする.
- ダウンロードしたファイルを作業用ディレクトリ C:\work に置く.
- ダウンロードしたファイルを展開(解凍)する.
7-Zip 等の展開ソフトウェアを使う.7-Zip の導入方法は別ページ »で説明している.エクスプローラーで .tar.bz2 ファイルを右クリックし,7-Zip の機能で C:\work\TooL に展開する.
ビルドとインストール
- CMakeLists.txt の作成
Sources ディレクトリ(ソースコードを展開した際にできる,.cpp ファイルが置かれているディレクトリ)を確認すると,各 .cpp ファイルの先頭で
stable.pchというプリコンパイル済みヘッダー(コンパイルを高速化する仕組み)を取り込む記述がある.CMake でビルドする場合はプリコンパイル済みヘッダーの指定を省いても支障なくビルドできるため,ここではstable.pchの取り込みに関する追加の設定は行わない.次の内容の CMakeLists.txt を作成する.cmake_minimum_required(VERSION 3.20) project(TooL CXX) find_package(SDL REQUIRED) find_package(Boost REQUIRED COMPONENTS filesystem system) find_package(OpenGL REQUIRED) file(GLOB TOOL_SOURCES "*.cpp") add_executable(TooL ${TOOL_SOURCES}) target_include_directories(TooL PRIVATE "C:/work/SDL_image-1.2/include") target_link_directories(TooL PRIVATE "C:/work/SDL_image-1.2/build/Release") target_link_libraries(TooL PRIVATE SDL::SDL SDL_image Boost::filesystem Boost::system OpenGL::GL OpenGL::GLU )find_package(SDL REQUIRED)は,CMake に標準で含まれる SDL 1 系検出用のモジュール(FindSDL)を使う指定である.vcpkg のツールチェーンファイルを介すことで,先にインストールした SDL 1 系のライブラリが見つかる.前項でビルドした SDL_image は vcpkg 経由ではないため,target_include_directoriesとtarget_link_directoriesで,ビルドした場所を個別に指定している. - CMake によるプロジェクトの生成
管理者権限でコマンドプロンプトを起動する (手順:Windowsキーまたはスタートメニュー →
cmdと入力 → 右クリック → 「管理者として実行」)。cd C:\work\TooL\Sources cmake -S . -B build -DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows
CMAKE_TOOLCHAIN_FILEの指定により,CMake が vcpkg 経由のライブラリを解決できるようになる.このコマンドを実行すると,build ディレクトリの中に Visual Studio のソリューションファイル(.sln)が生成される. - ビルドの実行
生成された build ディレクトリを Visual Studio 2026 で開くか,次のコマンドでビルドする.
cmake --build build --config Release
- ビルドの結果の確認
エラーメッセージが出ないことを確認する.ソースコードの一部が
OpenGL/glu.hのような非標準のパスでヘッダーを取り込んでいる場合は,インクルードエラーが出ることがある.その場合は,該当する#include文をGL/glu.hに書き換える.ビューワ・プログラムが「TooL.exe」というファイル名で,build\Release ディレクトリの下に生成される.
- ビューワ・プログラムのテスト実行
生成された TooL.exe を実行する.テクスチャマッピングなどが正しく表示できることを確認する.
cd C:\work\TooL\Sources\build\Release TooL.exe