質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Emscripten

Emscripten は JavaScript に変換するコンパイラです。 C/C++ から生成される LLVM ビットコードをJavaScript に変換します。

DXライブラリ

DXライブラリとは、DirectXを使ったWindowsソフトの開発に必ず付いて回るDirectXやWindows関連のプログラムを使い易くまとめた形で利用できるようにしたC++言語用のゲームライブラリです。

Q&A

解決済

1回答

3213閲覧

DXライブラリで実装したコードEmscriptenでWebAssemblyに変換すると 'tchar.h' file not found

kolu

総合スコア11

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Emscripten

Emscripten は JavaScript に変換するコンパイラです。 C/C++ から生成される LLVM ビットコードをJavaScript に変換します。

DXライブラリ

DXライブラリとは、DirectXを使ったWindowsソフトの開発に必ず付いて回るDirectXやWindows関連のプログラムを使い易くまとめた形で利用できるようにしたC++言語用のゲームライブラリです。

0グッド

0クリップ

投稿2019/06/13 20:04

編集2019/06/13 20:09

C++でDXライブラリを使用して実装したプログラムをEmscriptenでWebAssemblyに変換したいのですが、下記のエラーが表示されます。
すみません、tchar型自体に詳しくないもので、なぜこのエラーが発生しているのでしょうか。

Emscriptenは下記のサイトからダウンロードしました。

emsdk-1.35.0-full-64bit.exe
https://emscripten.org/docs/getting_started/downloads.html#installation-instructions

ご教示いただけますと幸いです。

コンパイルコマンド

emcc test.cpp -s WASM=1 -o test.html
test/DxDataTypeWin.h:14:10: fatal error: 'tchar.h' file not found #include <tchar.h> ^ 1 error generated. ERROR:root:compiler frontend failed to generate LLVM bitcode, halting

ソース ("test"の文言を表示するだけのプログラムです。)

#include "DxLib.h" int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) { ChangeWindowMode(TRUE); SetGraphMode(800, 600, 32); DxLib_Init(); SetDrawScreen(DX_SCREEN_BACK); while (!ProcessMessage()) { ClearDrawScreen(); DrawBox(0, 0, 800, 600, GetColor(0, 0, 0), TRUE); DrawStringToHandle(160, 230, "test",GetColor(255, 255, 255), g_middlefont); ScreenFlip(); } DxLib_End(); return 0; }

Windows8.1の環境です。
Microsoft Visual C++ 2010では動作確認しました。

至らない点あるかと存じますが、よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

<tchar.h>は、Windowsで使われるTCHARという型に関連したファイルです。

Emscriptenで生成されるWebAssenblyはOSによらず動く、つまりWindowsの機能を直接は使えないので、Windows用のDXライブラリを使ったプログラムをWebAssenbly環境で動かすことはできません。

(ブラウザにもWebGLはあるので、理論上はDXライブラリをWebAssenbly環境に対応させることは可能かもしれませんが、いまのところそのような実装はなさそうです)

投稿2019/06/14 00:18

maisumakun

総合スコア145123

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kolu

2019/06/15 23:09

maisumakun様、yumetodo様、ご回答ありがとうございました。 DXライブラリはDirectXのAPIをラップしている = Windowsの機能を使用しているため、WebAssemblyには対応していないということですね。 お二方とも迅速なご回答ありがとうございました。
yumetodo

2019/06/16 10:11

> DXライブラリはDirectXのAPIをラッ プしている = Windowsの機能を使用しているため、WebAssemblyには対応していないということですね。 正しくありません。DxLibはOpenGLもラップしています(PS4, Android向け)。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問