トップページ > 記事閲覧
DXライブラリ HTML5版 Visual Studio対応について
名前:かめのこにょこにょこ 日時: 2020/04/02 19:02

ご無沙汰しております。かめのこにょこにょこです。 この度、DXライブラリ HTML5版 (プロジェクトコード:DxLibForHTML5) の Visual Studio 対応に目途がついたので、 その報告のために新たにスレッドを建てさせていただきました。 以前より DXライブラリ HTML5版に関しては、次のスレッドで開発を進めていました。 - [freetypeを使用して文字を描画すると間延びする](dxlib.xsrv.jp/cgi/patiobbs/patio.cgi?mode=view&no=4825) 今現在、Visual Studio で DXライブラリ HTML5版を使ったアプリ開発をするには、次のツールをインストールする必要があります。 - emscripten (Download and Install) <emscripten.org/docs/getting_started/downloads.html> - emscripten (C/C++ を JavaScript/WebAssembly にトランスパイルするツール) の Visual Studio 2017用のテンプレート <marketplace.visualstudio.com/items?itemName=KamenokoSoft.emscriptenproj1> - DXライブラリ HTML5版 プロジェクトに追加すべきファイル <github.com/nokotan/DxLibForHTML5/releases> まだ製作段階であり、手元の環境でのみ動作確認が取れていないため、動作確認およびバグや使いづらいところの指摘を皆様にお願い申し上げたいです。 ご協力お願いいたします。 なお、次の項目については順次対応する予定でございます。 - 詳細なインストール手順とビルド手順の追加 - 依存ライブラリのリンク簡略化 (-lDxlib -lDxUseCLib -lDxDrawFunc -s USE_OGG=1 -s USE_VORBIS=1 -s USE_LIBPNG=1 -s USE_LIBJPEG=1 -s USE_ZLIB=1 -s USE_BULLET=1 -s USE_FREETYPE=1 と長い追加のオプションを記述する必要があります) また、emscripten 側にビルドの失敗につながる既知の問題がいくつかあります。 - 文字エンコードの違いが原因でビルドが失敗する (python 2.x系を使うことで回避可能) - preload-file を使ったフォルダのパッケージ化に失敗する (原因解明中)
メンテ

Page: 1 | 2 | 3 |

Re: DXライブラリ HTML5版 Visual Studio対応について ( No.24 )
名前:kanamaru 日時:2020/04/13 14:26

調べてみたところ、emscriptenでSimpleHTTPServerが使える記述がありました。 ttps://emscripten.org/docs/getting_started/Tutorial.html 先頭にhを入れてください。 python3のhttp.serverでも同じと考えられます。 少なくともSimpleHTTPServerがpywin32やwin32apiが無い僕の環境でも起動できるので代わりになると思います。
メンテ
Re: DXライブラリ HTML5版 Visual Studio対応について ( No.25 )
名前:kanamaru 日時:2020/04/13 18:10

すいませんでした。今気が付いたんですけど僕の方法だとindex.html開きません。 import subprocess p1=subprocess.Popen(["python","-m","SimpleHTTPServer","8080"]) p2=subprocess.Popen(["cmd","/c","start","http://localhost:8080/"]) p1.wait() p2.wait() というプログラムをindex.htmlと同じフォルダに置いて python.exeのパラメータに指定して起動することでindex.htmlを起動できるようにできます。 ちなみにpython2用なのでpython3では書き換える必要があります。
メンテ
Re: DXライブラリ HTML5版 Visual Studio対応について ( No.26 )
名前:管理人 日時:2020/04/15 08:45

> かめのこにょこにょこさん pip install pywin32 で pywin32 をインストールした後、 https://qiita.com/nokotan/items/5fa6f2d39ff7bb6641e8#%E3%83%93%E3%83%AB%E3%83%89%E3%81%A8%E3%83%87%E3%83%90%E3%83%83%E3%82%B0 こちらのデバッグの設定で起動( ブラウザが起動 )できました ( ただ、コマンド引数は "$(EmscriptenDir)emrun" "$(TargetPath)" ではなく "$(EmscriptenDir)\emrun" "$(TargetPath)" にする必要がありました ) ただ、ブラウザ( EDGE )は起動したもののログウィンドウに Cannot enlarge memory arrays to size 46514176 bytes (OOM). Either (1) compile with -s INITIAL_MEMORY=X with X higher than the current value 16777216, (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 という出力がされて箱の描画処理自体は行われませんでした… > kanamaruさん ご情報ありがとうございます ただ、pip install pywin32 の方が簡単そうだったので pip install pywin32 で対応しました
メンテ
Re: DXライブラリ HTML5版 Visual Studio対応について ( No.27 )
名前:yumetodo 日時:2020/04/15 09:59

あー、自分はnpx @js-primer/local-server使ってしまったやつだ ttps://jsprimer.net/use-case/todoapp/entrypoint/#local-server
メンテ
Re: DXライブラリ HTML5版 Visual Studio対応について ( No.28 )
名前:kanamaru 日時:2020/04/15 10:29

管理人さん。以前emscripten使うとき、edgeだとうまく動かず、chromeを使いました。 chromeだとうまくいくかもしれません。 emrunでchromeを使う方法はわかりませんが、 試しにurlをchromeに張り付けてみたらどうでしょう。 chromeが無ければ試してませんがfirefoxもいいかもしれません。
メンテ
Re: DXライブラリ HTML5版 Visual Studio対応について ( No.29 )
名前:かめのこにょこにょこ 日時:2020/04/15 17:07

> 管理人さん > ( ただ、コマンド引数は > "$(EmscriptenDir)emrun" "$(TargetPath)" > ではなく > "$(EmscriptenDir)\emrun" "$(TargetPath)" > にする必要がありました ) ツールチェインインストールディレクトリの登録時 <qiita.com/nokotan/items/5fa6f2d39ff7bb6641e8#emscripten-ツールチェインの登録> に、 [emscripten インストールディレクトリ] の末尾がバックスラッシュで終わっていない時にエラーとなってしまいます。 そのため、デバッガのコマンド引数に `"$(EmscriptenDir)\emrun" "$(TargetPath)"` を指定するよう記事を修正させていただきます。 ご指摘ありがとうございます。 > Cannot enlarge memory arrays to size 46514176 bytes (OOM). Either (1) compile with -s INITIAL_MEMORY=X with X higher than the current value 16777216, > (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, > compile with -s ABORTING_MALLOC=0 [Qiita に掲載した記事](qiita.com/nokotan/items/5fa6f2d39ff7bb6641e8) ですが、記事中のリンカオプションに -s ALLOW_MEMORY_GROWTH=1 が抜けておりました。 お手数おかけしますが、リンカオプションに -s ALLOW_MEMORY_GROWTH=1 を追加して再度ビルドをお願いします。
メンテ
Re: DXライブラリ HTML5版 Visual Studio対応について ( No.30 )
名前:かめのこにょこにょこ 日時:2020/04/15 17:11

> kanamaruさん > import subprocess > p1=subprocess.Popen(["python","-m","SimpleHTTPServer","8080"]) > p2=subprocess.Popen(["cmd","/c","start","localhost:8080/"]) > p1.wait() > p2.wait() > > というプログラムをindex.htmlと同じフォルダに置いて > python.exeのパラメータに指定して起動することでindex.htmlを起動できるようにできます。 Microsoft Store からインストールした python で使用できるかどうか試させていただきます。 情報提供ありがとうございます。
メンテ
Re: DXライブラリ HTML5版 Visual Studio対応について ( No.31 )
名前:かめのこにょこにょこ 日時:2020/04/15 17:18

> yumetodoさん > あー、自分はnpx @js-primer/local-server使ってしまったやつだ > jsprimer.net/use-case/todoapp/entrypoint/#local-server 私も Visual Studio Code を使って開発するときは npx http-server をよく使っています。 Webサーバであれば問題ないので。
メンテ
Re: DXライブラリ HTML5版 Visual Studio対応について ( No.32 )
名前:管理人 日時:2020/04/16 10:22

> かめのこにょこにょこさん リンカオプションに -s ALLOW_MEMORY_GROWTH=1 を追加して実行したところ、 ログの内容は変わりましたが、やはり実行はできませんでした <ログの末尾の方だけ載せます> 161: Max Varying Vectors:30 163: Max Combined Texture Image Units:32 165: Max Vertex Texture Image Units:16 166: Max Texture Image Units:16 168: Max Fragment Uniform Vectors:1024 177: シェーダーコード関係の初期化.... 成功 296: フォントの初期化を行います 301: フォントの初期化は正常に終了しました 331:DX library initialization processing end Font Init: FontName=assets/07LogoTypeGothic7.ttf Font Init Error: FontName=assets/07LogoTypeGothic7.ttf, Code=2 このスレッドの No.9 の私が組んだプログラムを実行したところ、エラーのログは出力されないのですが 画面上を左右に動く四角形は表示されませんでした <No.9 を実行した際のログの全体です> 0:Start initialization processing of DX library 4: DX library Ver3.21d 11: ファイルアクセス処理の初期化...成功 23: OpenAL初期化開始 55: OpenAL初期化完了 81: バージョン:OpenGL ES 2.0 (WebGL 1.0) 83: レンダラー:Microsoft Edge 84: ベンダー:Microsoft 84: シェーダー言語バージョン:OpenGL ES GLSL ES 1.00 (WebGL GLSL ES 1.0) 86: OpenGL ES Extensions 一覧 86: WEBGL_compressed_texture_s3tc 88: OES_texture_float 88: OES_texture_float_linear 90: EXT_texture_filter_anisotropic 91: OES_standard_derivatives 92: ANGLE_instanced_arrays 94: OES_element_index_uint 95: WEBGL_debug_renderer_info 95: WEBGL_depth_texture 96: EXT_frag_depth 97: OES_texture_half_float 101: OES_texture_half_float_linear 102: WEBGL_lose_context 103: OES_vertex_array_object 104: WEBGL_draw_buffers 105: EXT_blend_minmax 107: EXT_shader_texture_lod 107: EXT_color_buffer_half_float 108: WEBGL_color_buffer_float 109: GL_WEBGL_compressed_texture_s3tc 110: GL_OES_texture_float 111: GL_OES_texture_float_linear 112: GL_EXT_texture_filter_anisotropic 113: GL_OES_standard_derivatives 114: GL_ANGLE_instanced_arrays 116: GL_OES_element_index_uint 117: GL_WEBGL_debug_renderer_info 117: GL_WEBGL_depth_texture 118: GL_EXT_frag_depth 120: GL_OES_texture_half_float 121: GL_OES_texture_half_float_linear 122: GL_WEBGL_lose_context 122: GL_OES_vertex_array_object 123: GL_WEBGL_draw_buffers 125: GL_EXT_blend_minmax 125: GL_EXT_shader_texture_lod 126: GL_EXT_color_buffer_half_float 128: GL_WEBGL_color_buffer_float 130: Max Vertex Attribs:16 133: Max Vertex Uniform Vectors:4096 134: Max Varying Vectors:30 135: Max Combined Texture Image Units:32 136: Max Vertex Texture Image Units:16 137: Max Texture Image Units:16 139: Max Fragment Uniform Vectors:1024 145: シェーダーコード関係の初期化.... 成功 255: フォントの初期化を行います 258: フォントの初期化は正常に終了しました 285:DX library initialization processing end > kanamaruさん chromeにurlを貼り付けてみたところ、 『このサイトにアクセスできません localhost で接続が拒否されました。』 と表示され、実行できませんでした
メンテ
Re: DXライブラリ HTML5版 Visual Studio対応について ( No.33 )
名前:かめのこにょこにょこ 日時:2020/04/16 15:29

> Font Init: FontName=assets/07LogoTypeGothic7.ttf > Font Init Error: FontName=assets/07LogoTypeGothic7.ttf, Code=2 Emscripten リンカの --preload-file オプション ([Emscripten リンカ] > [入力] > [プリロードされる リソースファイル]) を追加することで 外部ファイルを仮想ファイルシステムにマウントすることができます。 例. C++ プロジェクトファイル (.vcxproj) にある assets フォルダ `$(ProjectDir)\assets` を `/assets` にマウントする ```txt // プリロードされるリソースファイル $(ProjectDir)\assets@/assets ``` > このスレッドの No.9 の私が組んだプログラムを実行したところ、エラーのログは出力されないのですが > 画面上を左右に動く四角形は表示されませんでした WebGL のオプションによっては一切の描画が失敗することが確認されています。 -s FULL_ES2=1 または -s FULL_ES3=1 を Emscripten リンカの追加のオプションに追加してみてください。 <qiita.com/nokotan/items/5fa6f2d39ff7bb6641e8#comment-b52d0e8a200a2da2c9fd> > chromeにurlを貼り付けてみたところ、 >『このサイトにアクセスできません localhost で接続が拒否されました。』 > と表示され、実行できませんでした emrun のデフォルトの設定では、最初に起動したブラウザで1回のみ読み込むことができます。 `--browser` オプションで起動するブラウザを選択することができます。 または、`--serve_after_close` オプションを指定すると、最初に出てくるコマンドプロンプトを閉じるまでサーバが終了しません。 <emscripten.org/docs/compiling/Running-html-files-with-emrun.html#controlling-web-server-operation>
メンテ
Re: DXライブラリ HTML5版 Visual Studio対応について ( No.34 )
名前:管理人 日時:2020/04/19 05:33

> WebGL のオプションによっては一切の描画が失敗することが確認されています。 > -s FULL_ES2=1 または -s FULL_ES3=1 を Emscripten リンカの追加のオプションに追加してみてください。 -s FULL_ES2=1 を追加したところEDGE上でプログラムが正常に動作しました!!!! ( -s FULL_ES3=1 では Failed to initialize the DX library とログ出力されて動作しませんでした ) > Emscripten リンカの --preload-file オプション ([Emscripten リンカ] > [入力] > [プリロードされる リソースファイル]) を追加することで > 外部ファイルを仮想ファイルシステムにマウントすることができます。 >  > 例. C++ プロジェクトファイル (.vcxproj) にある assets フォルダ `$(ProjectDir)\assets` を `/assets` にマウントする >  > ```txt > // プリロードされるリソースファイル > $(ProjectDir)\assets@/assets > ``` 試しに Test1.bmp を LoadGraph で読み込んで表示しようとしたのですが、 [Emscripten リンカ] > [入力] > [プリロードされる リソースファイル] の項目に $(ProjectDir)\assets を追加して、 .vcxproj があるフォルダに assets フォルダを追加して、assets フォルダに Test1.bmp を入れて実行してみたのですが 『Test1.bmp の読み込みに失敗しました』のエラーが出力され表示されなかったので、 色々試す中で『リビルド』をしてみたのですが、すると以下のようなビルドエラーが発生してしまい、 それ以降何回ビルドしたりプロジェクトを別で作成してみたりしてもこのエラーが発生してしまうようになり、 実行できなくなってしまいました… 1>------ ビルド開始: プロジェクト: Test4Emscripten.ProjectTemplate1, 構成: Debug Emscripten ------ 1>Source.cpp1>cache:INFO: generating port: libz.a... (this will be cached in "C:\Users\yamada\.emscripten_cache\wasm-pic\libz.a" for subsequent builds) 1>shared : error : C:\Users\yamada\.emscripten_cache\wasm-pic\ports-builds\zlib\adler32.c: No such file or directory ("C:\Users\yamada\.emscripten_cache\wasm-pic\ports-builds\zlib\adler32.c" was expected to be an input file, based on the commandline arguments provided) 1>shared : error : C:\Users\yamada\.emscripten_cache\wasm-pic\ports-builds\zlib\compress.c: No such file or directory ("C:\Users\yamada\.emscripten_cache\wasm-pic\ports-builds\zlib\compress.c" was expected to be an input file, based on the commandline arguments provided) 1>shared : error : C:\Users\yamada\.emscripten_cache\wasm-pic\ports-builds\zlib\deflate.c: No such file or directory ("C:\Users\yamada\.emscripten_cache\wasm-pic\ports-builds\zlib\deflate.c" was expected to be an input file, based on the commandline arguments provided) 1>shared : error : C:\Users\yamada\.emscripten_cache\wasm-pic\ports-builds\zlib\crc32.c: No such file or directory ("C:\Users\yamada\.emscripten_cache\wasm-pic\ports-builds\zlib\crc32.c" was expected to be an input file, based on the commandline arguments provided) 1>shared : error : C:\Users\yamada\.emscripten_cache\wasm-pic\ports-builds\zlib\gzclose.c: No such file or directory ("C:\Users\yamada\.emscripten_cache\wasm-pic\ports-builds\zlib\gzclose.c" was expected to be an input file, based on the commandline arguments provided) 1>shared : error : C:\Users\yamada\.emscripten_cache\wasm-pic\ports-builds\zlib\gzread.c: No such file or directory ("C:\Users\yamada\.emscripten_cache\wasm-pic\ports-builds\zlib\gzread.c" was expected to be an input file, based on the commandline arguments provided) 1>shared : error : C:\Users\yamada\.emscripten_cache\wasm-pic\ports-builds\zlib\gzlib.c: No such file or directory ("C:\Users\yamada\.emscripten_cache\wasm-pic\ports-builds\zlib\gzlib.c" was expected to be an input file, based on the commandline arguments provided) 1>shared : error : C:\Users\yamada\.emscripten_cache\wasm-pic\ports-builds\zlib\gzwrite.c: No such file or directory ("C:\Users\yamada\.emscripten_cache\wasm-pic\ports-builds\zlib\gzwrite.c" was expected to be an input file, based on the commandline arguments provided) 1>shared : error : C:\Users\yamada\.emscripten_cache\wasm-pic\ports-builds\zlib\inffast.c: No such file or directory ("C:\Users\yamada\.emscripten_cache\wasm-pic\ports-builds\zlib\inffast.c" was expected to be an input file, based on the commandline arguments provided) 1>shared : error : C:\Users\yamada\.emscripten_cache\wasm-pic\ports-builds\zlib\infback.c: No such file or directory ("C:\Users\yamada\.emscripten_cache\wasm-pic\ports-builds\zlib\infback.c" was expected to be an input file, based on the commandline arguments provided) 1>shared : error : C:\Users\yamada\.emscripten_cache\wasm-pic\ports-builds\zlib\inftrees.c: No such file or directory ("C:\Users\yamada\.emscripten_cache\wasm-pic\ports-builds\zlib\inftrees.c" was expected to be an input file, based on the commandline arguments provided) 1>shared : error : C:\Users\yamada\.emscripten_cache\wasm-pic\ports-builds\zlib\inflate.c: No such file or directory ("C:\Users\yamada\.emscripten_cache\wasm-pic\ports-builds\zlib\inflate.c" was expected to be an input file, based on the commandline arguments provided) 1>shared : error : C:\Users\yamada\.emscripten_cache\wasm-pic\ports-builds\zlib\uncompr.c: No such file or directory ("C:\Users\yamada\.emscripten_cache\wasm-pic\ports-builds\zlib\uncompr.c" was expected to be an input file, based on the commandline arguments provided) 1>shared : error : C:\Users\yamada\.emscripten_cache\wasm-pic\ports-builds\zlib\zutil.c: No such file or directory ("C:\Users\yamada\.emscripten_cache\wasm-pic\ports-builds\zlib\zutil.c" was expected to be an input file, based on the commandline arguments provided) 1>shared : error : C:\Users\yamada\.emscripten_cache\wasm-pic\ports-builds\zlib\trees.c: No such file or directory ("C:\Users\yamada\.emscripten_cache\wasm-pic\ports-builds\zlib\trees.c" was expected to be an input file, based on the commandline arguments provided) 1>system_libs : error : a problem occurred when using an emscripten-ports library. try to run `emcc --clear-ports` and then run this command again 1>""" 1>Traceback (most recent call last): 1> File "C:\Users\yamada\AppData\Local\Programs\Python\Python37\lib\multiprocessing\pool.py", line 121, in worker 1> result = (True, func(*args, **kwds)) 1> File "C:\Users\yamada\AppData\Local\Programs\Python\Python37\lib\multiprocessing\pool.py", line 44, in mapstar 1> return list(map(*args)) 1> File "X:\emsdk\upstream\emscripten\tools\system_libs.py", line 73, in run_one_command 1> shared.run_process(cmd, stdout=stdout, stderr=stderr) 1> File "X:\emsdk\upstream\emscripten\tools\shared.py", line 181, in run_process 1> ret = subprocess.run(cmd, check=check, input=input, *args, **kw) 1> File "C:\Users\yamada\AppData\Local\Programs\Python\Python37\lib\subprocess.py", line 512, in run 1> output=stdout, stderr=stderr) 1>subprocess.CalledProcessError: Command '['C:\\Users\\yamada\\AppData\\Local\\Programs\\Python\\Python37\\python.exe', 'X:\\emsdk\\upstream\\emscripten\\emcc.py', '-s', 'RELOCATABLE', 'C:\\Users\\yamada\\.emscripten_cache\\wasm-pic\\ports-builds\\zlib\\adler32.c', '-O2', '-o', 'C:\\Users\\yamada\\.emscripten_cache\\wasm-pic\\ports-builds\\zlib\\adler32.c.o', '-IC:\\Users\\yamada\\.emscripten_cache\\wasm-pic\\ports-builds\\zlib', '-w', '-c']' returned non-zero exit status 1. 1>""" 1> 1>The above exception was the direct cause of the following exception: 1> 1>Traceback (most recent call last): 1> File "X:\emsdk\upstream\emscripten\emcc.py", line 3917, in <module> 1> sys.exit(run(sys.argv)) 1> File "X:\emsdk\upstream\emscripten\emcc.py", line 2216, in run 1> extra_files_to_link = system_libs.get_ports(shared.Settings) 1> File "X:\emsdk\upstream\emscripten\tools\system_libs.py", line 1834, in get_ports 1> ret += [f for f in port.get(Ports, settings, shared) if not f.endswith('.txt')] 1> File "X:\emsdk\upstream\emscripten\tools\ports\zlib.py", line 46, in get 1> return [shared.Cache.get('libz.a', create, what='port')] 1> File "X:\emsdk\upstream\emscripten\tools\cache.py", line 131, in get 1> temp = creator() 1> File "X:\emsdk\upstream\emscripten\tools\ports\zlib.py", line 40, in create 1> ports.run_commands(commands) 1> File "X:\emsdk\upstream\emscripten\tools\system_libs.py", line 1647, in run_commands 1> run_build_commands([add_args(c) for c in commands]) 1> File "X:\emsdk\upstream\emscripten\tools\system_libs.py", line 87, in run_build_commands 1> pool.map_async(run_one_command, commands, chunksize=1).get(999999) 1> File "C:\Users\yamada\AppData\Local\Programs\Python\Python37\lib\multiprocessing\pool.py", line 657, in get 1> raise self._value 1>subprocess.CalledProcessError: Command '['C:\\Users\\yamada\\AppData\\Local\\Programs\\Python\\Python37\\python.exe', 'X:\\emsdk\\upstream\\emscripten\\emcc.py', '-s', 'RELOCATABLE', 'C:\\Users\\yamada\\.emscripten_cache\\wasm-pic\\ports-builds\\zlib\\adler32.c', '-O2', '-o', 'C:\\Users\\yamada\\.emscripten_cache\\wasm-pic\\ports-builds\\zlib\\adler32.c.o', '-IC:\\Users\\yamada\\.emscripten_cache\\wasm-pic\\ports-builds\\zlib', '-w', '-c']' returned non-zero exit status 1. 1>プロジェクト "Test4Emscripten.ProjectTemplate1.vcxproj" のビルドが終了しました -- 失敗。 ========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ========== すみません、このような場合どのように対処すれば良いのでしょうか? m(_ _;m
メンテ
Re: DXライブラリ HTML5版 Visual Studio対応について ( No.35 )
名前:かめのこにょこにょこ 日時:2020/04/21 14:39

依存ライブラリのソースファイル群のzipファイルの展開に失敗していると見受けられます。 次の項目をお試しください。 - %USERPROFILE%\.emscripten_ports フォルダの中にある zip ファイルをその場に (画像のようにフォルダが並ぶように) 展開する - %USERPROFILE%\.emscripten_ports フォルダ、%USERPROFILE%\.emscripten_cache フォルダを、セキュリティソフトウェアのスキャン除外フォルダに追加する <qiita.com/nokotan/items/5fa6f2d39ff7bb6641e8#comment-9619da26278c58afd311> <qiita.com/nokotan/items/5fa6f2d39ff7bb6641e8#no-such-file-or-directory-と表示される>
メンテ
Re: DXライブラリ HTML5版 Visual Studio対応について ( No.36 )
名前:管理人 日時:2020/04/22 00:09

> - %USERPROFILE%\.emscripten_ports フォルダの中にある zip ファイルをその場に (画像のようにフォルダが並ぶように) 展開する %USERPROFILE%\.emscripten_ports にはビルドに失敗している zlib.zip のみある状態で、 フォルダ( bullet, freetype, libjpeg, libpng, ogg, vorbis, zlib )は既にありました ただ、zlib のフォルダの中身を見ると zlib.zip の中身とフォルダ構成は同じなのですが何もファイルが入っていない状態だったので 手動で zlib.zip の中身を zlib フォルダに上書きしてビルドしたところ、libz.a のビルドでエラーが発生することはなくなりました ただ、今度は libfreetype.a のビルドで同様のエラーが発生したので、同様に freetype フォルダの中身を確認したところ やはり『フォルダ構成は同じだけどファイルが無い』状態だったので同様の freetype.zip の中身を( freetype.zip は libz.a の エラーが解消された後にダウンロードされたようです )上書きしてビルドしたところ、今度はビルドが通りました ただ、今度は実行まで進んだのですが、ブラウザのログに external global '_ZTV13btSphereShape' is missing. perhaps a side module was not linked in? if this function was expected to arrive from a system library, try to build the MAIN_MODULE with EMCC_FORCE_STDLIBS=1 in the environment と bullet 関連のエラーのようなものが表示されプログラムが実行されませんでした .emscripten_ports\bullet フォルダ内を確認するとやはりファイルが何もなかったので bullet.zip の中身を上書きしたところ、 external global '_ZTV13btSphereShape' のエラーは発生しなくなりました かめのこにょこにょこさんの推測通り、zipファイルの展開で失敗していたようです そして実行はできたのですが、今度はブラウザが起動したものの、上部の『Preparing...』の円がくるくる回転するのがずっと続き、 エラーログの出力もされず、プログラムも起動せず、という状態になってしまいました 怪しい所を探したところ、画像の読み込みをするために [Emscripten リンカ] > [入力] > [プリロードされる リソースファイル] の項目に $(ProjectDir)\assets を追加していたので この $(ProjectDir)\assets を削除したところ、正常にプログラムが起動しました ただ、$(ProjectDir)\assets の追加をしないと画像の読み込みができないので、どうにか [Emscripten リンカ] > [入力] > [プリロードされる リソースファイル] の項目に $(ProjectDir)\assets を追加した状態で 正常に起動したいのですが、何か原因は分かりますでしょうか? > - %USERPROFILE%\.emscripten_ports フォルダ、%USERPROFILE%\.emscripten_cache フォルダを、セキュリティソフトウェアのスキャン除外フォルダに追加する スキャン除外フォルダに追加しましたが、特にビルド結果に変化はありませんでした
メンテ
Re: DXライブラリ HTML5版 Visual Studio対応について ( No.37 )
名前:かめのこにょこにょこ 日時:2020/04/23 19:33

> 怪しい所を探したところ、画像の読み込みをするために > [Emscripten リンカ] > [入力] > [プリロードされる リソースファイル] の項目に $(ProjectDir)\assets を追加していたので > この $(ProjectDir)\assets を削除したところ、正常にプログラムが起動しました > > ただ、$(ProjectDir)\assets の追加をしないと画像の読み込みができないので、どうにか > [Emscripten リンカ] > [入力] > [プリロードされる リソースファイル] の項目に $(ProjectDir)\assets を追加した状態で > 正常に起動したいのですが、何か原因は分かりますでしょうか? プリロードされるリソースファイルを読み込む前に emrun が終了してしまっていることが疑われます。 デバッガのコマンド引数に `--serve_after_close` を追加することを試していただけないでしょうか。 このオプションを追加すると、デバッグ開始時に出てくるコマンドプロンプトを閉じるまでサーバが終了しないようになります。
メンテ
Re: DXライブラリ HTML5版 Visual Studio対応について ( No.38 )
名前:管理人 日時:2020/04/23 23:36

> デバッガのコマンド引数に `--serve_after_close` を追加することを試していただけないでしょうか。 --serve_after_close を追加することで上部の『Preparing...』の円がくるくる回転するのがずっと続く ことなくプログラムが実行されました! ただ、ログには 251:画像ファイル assets/Test1.bmp のオープンに失敗しました と出力され、画像は読み込まれませんでした…
メンテ
Re: DXライブラリ HTML5版 Visual Studio対応について ( No.39 )
名前:かめのこにょこにょこ 日時:2020/04/24 01:14

> ただ、ログには > > 251:画像ファイル assets/Test1.bmp のオープンに失敗しました > > と出力され、画像は読み込まれませんでした… 画像ファイルのパスに `/assets/Test1.bmp` を指定することをお試しください。 (パスの最初に / を追加する)
メンテ
Re: DXライブラリ HTML5版 Visual Studio対応について ( No.40 )
名前:管理人 日時:2020/04/24 23:04

> 画像ファイルのパスに `/assets/Test1.bmp` を指定することをお試しください。 > (パスの最初に / を追加する) 試してみましたが、結果は変わらずでした 画像ファイル /assets/Test1.bmp のオープンに失敗しました
メンテ
Re: DXライブラリ HTML5版 Visual Studio対応について ( No.41 )
名前:にこよう 日時:2020/04/26 01:08

横から失礼します グラデーションのスレッドで、管理人さんがかめのこにょこにょこさんへ質問されています スレッドを解決にしずらいので何か返信をいただければうれしいです 既にお気づきの上で回答を保留されているのでしたらすみません 以下グラデーションのスレッドより管理人さんのコメントを引用しています WebAssemblyStudio では上記の修正をしても駄目ですね…( というか、 VERT_X 2 VERT_Y 2 に数値を減らしても駄目ですね… ) 同じ OpenGL ES を使用している Android版でも上記の修正で正常に描画されたので、恐らく HTML5版では DrawPolygonIndexed2D が正常に 動作しないのではないかと思いますが如何でしょうか?
メンテ
Re: DXライブラリ HTML5版 Visual Studio対応について ( No.42 )
名前:かめのこにょこにょこ 日時:2020/04/26 14:17

> にこようさん レスありがとうございます。 > 管理人さん > 怪しい所を探したところ、画像の読み込みをするために > [Emscripten リンカ] > [入力] > [プリロードされる リソースファイル] の項目に $(ProjectDir)\assets を追加していたので > この $(ProjectDir)\assets を削除したところ、正常にプログラムが起動しました > > ただ、$(ProjectDir)\assets の追加をしないと画像の読み込みができないので、どうにか > [Emscripten リンカ] > [入力] > [プリロードされる リソースファイル] の項目に $(ProjectDir)\assets を追加した状態で > 正常に起動したいのですが、何か原因は分かりますでしょうか? [Emscripten リンカ] > [入力] > [プリロードされる リソースファイル] に設定されているパスを $(ProjectDir)\assets@/assets と指定してみてください。 (@以下は、html5ランタイム上の仮想ファイルシステムへのマウント先を指定することができます。
メンテ
Re: DXライブラリ HTML5版 Visual Studio対応について ( No.43 )
名前:管理人 日時:2020/04/27 01:10

> [Emscripten リンカ] > [入力] > [プリロードされる リソースファイル] に設定されているパスを $(ProjectDir)\assets@/assets と指定してみてください。 > (@以下は、html5ランタイム上の仮想ファイルシステムへのマウント先を指定することができます。 $(ProjectDir)\assets@/assets を指定することで無事画像が読み込まれ、画面に表示されました! ( すみません、No.33 のお書き込みの $(ProjectDir)\assets@/assets とはそういう意味だったのですね… ) あと、ビルドした html, js, wasm, data ファイルと assets フォルダをサーバーにアップして html を開いたところ、正常に実行できることも確認しました! 正常に実行するまで長期間掛かってしまいすみませんでした m(_ _;m
メンテ

Page: 1 | 2 | 3 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存