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++ ライブラリのビルド済みバイナリを取得できる)を使ってまとめて導入する.

前もって決めておく事項

前もってインストールしておくべきソフトウェア

  1. Visual Studio 2026

    「C++ によるデスクトップ開発」ワークロードを含めてインストールする.このワークロードには,MSVC(C++ コンパイラ)と CMake ツールが含まれる.

  2. Git

    vcpkg の取得に使う.

  3. vcpkg

    管理者権限コマンドプロンプトを起動する (手順:Windowsキーまたはスタートメニュー → cmd と入力 → 右クリック → 「管理者として実行」)。

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

    vcpkg 本体を C:\vcpkg に取得し,実行ファイル vcpkg.exe を生成する操作である.

  4. 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 のライブラリを自動的に見つけられるようにする設定である.

  5. 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 のソースコードのダウンロードと展開

  1. TooL の Web ページを開く

    https://sourceforge.net/projects/objloader/

  2. ソースコード(TooL-v0.2.5-src.tar.bz2)をダウンロードする.
  3. ダウンロードしたファイルを作業用ディレクトリ C:\work に置く.
  4. ダウンロードしたファイルを展開(解凍)する.

    7-Zip 等の展開ソフトウェアを使う.7-Zip の導入方法は別ページ »で説明している.エクスプローラーで .tar.bz2 ファイルを右クリックし,7-Zip の機能で C:\work\TooL に展開する.

ビルドとインストール

  1. 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_directoriestarget_link_directories で,ビルドした場所を個別に指定している.

  2. 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)が生成される.

  3. ビルドの実行

    生成された build ディレクトリを Visual Studio 2026 で開くか,次のコマンドでビルドする.

    cmake --build build --config Release
    
  4. ビルドの結果の確認

    エラーメッセージが出ないことを確認する.ソースコードの一部が OpenGL/glu.h のような非標準のパスでヘッダーを取り込んでいる場合は,インクルードエラーが出ることがある.その場合は,該当する #include 文を GL/glu.h に書き換える.

    ビューワ・プログラムが「TooL.exe」というファイル名で,build\Release ディレクトリの下に生成される.

  5. ビューワ・プログラムのテスト実行

    生成された TooL.exe を実行する.テクスチャマッピングなどが正しく表示できることを確認する.

    cd C:\work\TooL\Sources\build\Release
    TooL.exe