DXライブラリ HTML5版を使ってブラウザで動くゲームを作ってみる (VSCode版, Windows)
https://qiita.com/nokotan/items/d2dff1559f981e5e3da5
上記のページには自動的にソースを探してコンパイル&リンクする方法が書かれていなかったので、備忘録も込めてこちらに書いておきます。
#何が必要?
どうもVSCodeは自分のやり方が悪いのか『1つ目の命令文 & 終わったら2つ目命令文』みたいな感じで書いても2つ目の命令文が始まる前に止まってしまう。
これを解決するためにcmakeとか考えては見たものの、最初からbatファイル書けばいいのでは?となった。
よってbatファイルで解決することにする。
#batファイルを作るには
テキストで書き込んで拡張子を『.bat』に変えれば良い。
#必要なbatファイルは?
コンパイル、リンク(デバッグ)、リンク(リリース)のbatファイル。
#ソースは?
compile.bat
for %%f in (*.cpp) do (em++ %%f -c -o %%~nf.o -O0 -std=c++17 -g4 -IDxLibForHTML5 )
build_debug.bat
call compile.bat
@echo off
setlocal enabledelayedexpansion
set myvar=
for %%i In (*.o) DO set myvar=!myvar! %%i
echo %myvar%
em++%myvar% -o index.html -O0 -std=c++17 -g4 -LDxLibForHTML5 -lbullet -lfreetype -logg -lpng -lvorbis -lz -lDxDrawFunc -lDxUseCLib -lDxLib --emrun -s FULL_ES2=1 -s ALLOW_MEMORY_GROWTH=1 --source-map-base http://localhost:8080/ --preload-file assets@/ --shell-file template.html
build_release.bat
@echo off
setlocal enabledelayedexpansion
set myvar=
for %%i In (*.o) DO set myvar=!myvar! %%i
echo %myvar%
em++%myvar% -o index.html -O0 -std=c++17 -LDxLibForHTML5 -lbullet -lfreetype -logg -lpng -lvorbis -lz -lDxDrawFunc -lDxUseCLib -lDxLib --emrun -s FULL_ES2=1 -s ALLOW_MEMORY_GROWTH=1 --source-map-base http://localhost:8080/ --preload-file assets@/ --shell-file template.html
#2回もbatファイル呼ぶのが面倒なのでまとめる
build_compile_debug.bat
call compile.bat & call build_debug.bat
build_compile_release.bat
call compile.bat & call build_release.bat
プロジェクトフォルダに上記5つのbatファイルを置く。
デバッグなら、『build_compile_debug.bat』
リリースなら、『build_compile_release.bat』
を実行すれば良い。
たぶん、コマンドプロンプトではなくpowershellではないと動かないかも?