VIDEO
ナノワイヤ引張/圧縮のシミュレーション(mdspass2によりリアルタイムで実行)
テクニカルノート
Windows 11, Microsoft Visual Studio Community 2026でのmdspass2ビルド環境の構築
Microsoft Visual Studio Community 2026のインストール
Visual Studioのサイト から、Visual Studio 無償ダウンロード(ページの下の方にあります。見つからない場合は"Visual Studio"
"無償" などで検索)をクリックするとインストーラ(exeファイル)がダウンロードされる。ダウンロードが完了したらインストーラを実行する。
しばらくすると、インストールするコンポーネントを選択する画面が現れる。「ワークロード」タグが開かれているはずなので、「C++によるデスクトップ開発」にチェックを入れる。
(*2019ではこの後、画面右下の「インストール」ボタンを押せばインストールが進み、再起動が要求された後、そのまま完了する。以下の3~5の作業は不要。)
再起動しろと言われたらおとなしく従う。
画面左下のウインドウズボタンより、Visual Studio Installerを起動。「インストール済み」の下にVisual Studio
Community 2017 (もしくは2019)と表示されるが、その下の「変更」ボタンをクリック。「個別のコンポーネント」タグを選択し、下の方にスクロールして「Windows
8.1 SDK」にチェックを入れる(この操作は2019では不要)。画面右下の「変更」ボタンをクリック。
インストールが終了したらVisual Studio Installerは終了しておく。
glut のインストール
Windows 用の glut である,glut-3.7.6-bin.zip を入手、展開。
glut.h を C:\Program Files (x86)\Windows Kits\10\Include\10.x.xxxxx.x\um\gl
にコピー。(xxxの部分は環境によります)
glut32.lib を C:\Program Files (x86)\Windows Kits\10\Lib\10.x.xxxxx.x\um\x86
にコピー。
glut32.dll を C:\Windows\SysWOW64 にコピー。
glui のインストール
glui-2.36.zip を入手、展開 。
展開したディレクトリ中の src\msvc フォルダに移動し、glui.sln をダブルクリックして Visual Studio 2026 で開く。(プロジェクトとソリューションの変更をレビューという画面が現れ、ファイルをアップグレードするよなどと言われたら、言われる通りにする。少し時間がかかる。)
glui.hの中身を修正する。右のほうに現れるソリューションエクスプローラーで_glui_libraryをロールアウトするとglui.hが現れるので、これを編集する。1718,1719行目のtemplate classで始まる2行を両方ともコメントアウトする(templateの前に//を記入)。Ctrl-Sで保存。
上の方の窓で「Debug」と表示されているところがあるが、その横の小さな矢印をクリックし、Releaseを選択しておく。
上の「ビルド」タグを選択、「ソリューションのビルド」を行う 。
すると「includeファイルを開けません」などとエラーが出るかもしれない。パスをきちんと通す必要がある模様。そこで、上の方の「プロジェクト」==>「プロパティ」を開き、構成プロパティの「VC++ディレクトリ」を選択。右側の「インクルードディレクトリ」を選択し編集。空欄のところに、"C:\Program
Files(x86)\Windows Kits\10\Include\10.x.xxxxx.x\ucrt"と、"C:\Program
Files(x86)\Windows Kits\10\Include\10.x.xxxxx.x\um"を追加する。
再度「GLUIのビルド」を行う。コンパイルが進むが、========== すべて再構築: 2 正常終了、6 失敗、0 スキップ ========== と出力される。exampleのビルドでリンクエラーが発生しているためであるが、glui32.libなどは生成されているはず。
src\msvc\libフォルダにglui32.libが生成されているはずなので、これをC:\Program Files (x86)\Windows Kits\10\Lib\10.x.xxxxx.x\um\x86 にコピーする。
example1~6をビルドしたいのなら、ソリューションエクスプローラーでexample1を右クリック→プロパティ→ 構成プロパティ→ リンカー→ 全般→ 追加のライブラリ ディレクトリに、glui32.lib が置かれているフォルダを追加する必要がある。「編集」より、glui32.libが置かれているフォルダを追加する(例えば、C:\Users\hogehoge\glui-2.36\src\msvc\lib)。なおexample1についてこの操作をすれば、example2~6に対しても反映される模様。正常終了するとsrc\msvc\binフォルダにexample1.exeなどが生成される。
glui.hをC:\Program Files (x86)\Windows Kits\10\Include\10.x.xxxxx.x\um\gl
にコピー。
lapack, blas, libpngなどのインストール (vcpkgを使用)
gitのインストール: git を公式ページ (https://gitforwindows.org/ ) からダウンロードし、インストールする。
vcpkgのインストール:
vcpkgをインストールしたいフォルダ、例えば C:\Users\ユーザー名\ などに移動し、以下を実行する。
git clone https://github.com/microsoft/vcpkg.git
cd vcpkg
.\bootstrap-vcpkg.bat
ライブラリのインストール:
mdspass2はWin32構成でビルドするため、vcpkgでも x86-windows を明示してインストールする。
.\vcpkg install lapack:x86-windows openblas:x86-windows libpng:x86-windows
vcpkg でインストールしたライブラリを Visual Studio から利用できるようにする:
.\vcpkg integrate install
Visual Studio側での設定 ソリューションエクスプローラーでmdspass2を右クリックし、「プロパティ」から以下を設定する。構成を「すべての構成」または使用する構成、 プラットフォームを「Win32」にする。
C/C++ → 全般 → 追加のインクルード ディレクトリ
C:\Users\umeno\vcpkg\installed\x86-windows\include
リンカー → 全般 → 追加のライブラリ ディレクトリ
C:\Users\umeno\vcpkg\installed\x86-windows\lib
リンカー → 入力 → 追加の依存ファイル
lapack.lib
openblas.lib
libpng16.lib
z.lib
C/C++ → プリプロセッサ → プリプロセッサの定義
PNG_USE_DLL
実行時DLLの配置 vcpkgでインストールしたライブラリはDLLを使用するため、実行時にはDLLも必要である。 C:\Users\ユーザー名\vcpkg\installed\x86-windows\bin にある必要なDLLを、mdspass2.exe と同じフォルダにコピーする。
起動時に
liblapack.dll,
libpng16.dll,
openblas.dll
などが見つからないというエラーが出る場合は、
上記の bin フォルダから該当DLLをコピーする。
簡便には、同フォルダ内のDLLをまとめて
mdspass2.exe
と同じフォルダに置いてもよい。
注意点 mdspass2をWin32でビルドする場合、vcpkgのライブラリも必ず x86-windows でそろえる。 x64-windows のライブラリをリンクすると、LAPACKやlibpngの外部シンボルが未解決になる。
ソースコード中に
#pragma comment(lib, "libpng.lib")
などの古いライブラリ指定が残っている場合がある。
その場合は、vcpkgで生成された実際のライブラリ名、例えば
libpng16.lib
などに修正する。
Visual Studio 2019以前のプロジェクトを新しいVisual Studioで開く場合、
プラットフォームツールセットが古いままだとビルドできないことがある。
その場合は、プロジェクトのプロパティから
「構成プロパティ → 全般 → プラットフォーム ツールセット」を、
現在インストールされているVisual Studioのものに変更する。
その他のテクニカルノートはQiitaのページ に掲載しています。