1
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?

More than 3 years have passed since last update.

DXライブラリ HTML5版を使用時、ビルド時追加したソースを自動的にコンパイル&リンクする方法(VSCode版, Windows)

Last updated at Posted at 2020-12-30

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ではないと動かないかも?

1
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
1
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?