問題タブ [emscripten]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - -whole-library が使用できない場合の回避策
-Wl,-whole-library
フラグがサポートされていない環境 (emscripten)でコンパイルしようとしています。エクスポートされたシンボルをコンパイラに強制的に含めるにはどうすればよいですか? ソリューションは、次のプロパティをできるだけ多く満たす必要があります。
- 単一のライブラリに適用できます (他のライブラリの未使用のシンボルを含めたくありません)
- 自動的に生成される可能性があります (たとえば、エクスポートされたシンボル テーブルを nm で取得しますか?)
- 関数とメンバー関数で動作します
次のようなファイルを計算することを考えました:
ただし、int にキャストできない (そして非公開にすることができる) メンバー関数では機能しません。
何か考えはありますか?
javascript - emscripten Embindを使用してC ++でjavascript関数を呼び出す
この質問には 2 つの部分があります。私がやりたいことは、ほとんどのプログラム ロジックを C++ クラスに配置し、一部のビュー関連関数を js に配置することです (DOM 操作やスタイリングなど)。 hte js コードを使用します (チュートリアルのリソースは本当に限られています)。
チュートリアル ( https://github.com/kripken/emscripten/wiki/Tutorial )に従って val オブジェクトを c++ クラスに渡すことを考えていました。コンパイル時エラーが発生しました
これは私が試した例で、彼らがチュートリアルに載せたものです
そして、次のエラーが発生しました: エラー: 'call' の呼び出しに一致するメンバー関数がありません Math.call("abs",-10); ~~~~^~~~ emscripten/1.5.6/system/include/emscripten/val.h:247:21: 注: 候補テンプレートは無視されました: テンプレート引数 'ReturnValue' を推測できませんでした ReturnValue call(const char* name , Args&&... args) const {
基本的に、コンパイラは「呼び出し」関数の戻り値の型を知らないと言います。何か間違ったことをしたのでしょうか、それとも js コードを操作するためのより良い方法はありますか?
ありがとう、イー
javascript - emscripten: UnboundTypeError を解決するにはどうすればよいですか
std::vector と std::map を使用するプログラムを emscripten でビルドしようとしていますが、コンパイルは成功しています。しかし、Webブラウザ(firefox/chrome)で実行すると、UnboundTypeErrorがキャッチされました。
[03:21:26.453] UnboundTypeError: 型がバインドされていないため、intArrayToVector を呼び出せません: Pi
生成された JavaScript コードを使用する C++ コードと HTML ファイルを次に示します。
test.cpp:
test.html:
JavaScript コードは、次のコマンドによって生成されました。
$ em++ --bind test.cpp -o test.js
どうすればこの問題を解決できますか? 助けてくれてありがとう!
shared-libraries - Emscripten で共有ライブラリを構築しましたが、LLVM で共有ライブラリに転送したいと考えています。
Emscripten で共有ライブラリを構築しましたが、LLVM で共有ライブラリに転送したいと考えています。それは実現できますか?そしてどうやって?-たとえば、Emscripten emconfigure ./configure、emmake make で xmllib2 をコンパイルしました。そして、../.libs の下に libxml2.so をビルドしましたが、何らかの理由で、この .so ファイルを LLVM .so ファイルに転送したいと考えています。しかし、私はそれを実装する方法がわかりません。
macos - ビルド エラー: Mac OsX 上の Emscripten による Ammo.js
Mac でammo.jsをビルドする際に問題があります。(OSはMaverickです)。C++ コードをコンパイルせず、/build フォルダーの bindings.cpp コードには何もコンパイルしません。
このリンクの手順に従いました。これが私が得た最初のログです。
MacOSXにはclangコンパイラが含まれていることは知っていますが、emscripten guidはllvmリポジトリからllvmコンパイラをインストールすることを余儀なくされています。どうすれば修正できるのだろうか。MacOsX には emscripten の実行に問題があると誰かが言っていました。しかし、それが正しいかどうかは疑問です。
======更新=====
make.py ファイルに自分でビルドした LLVM ではなく、Apple の LLVM と呼ばれる 'cpp' を見つけました。make.py ファイルで、
古いコード
変更されたコード
しかし、make.py を変更しても問題は発生します。エラーメッセージは以下です。
どうすれば修正できるのだろうか。
javascript - EMSCRIPTEN を介して標準 ML 関数を JavaScript にエクスポートする方法は?
次のような標準 ML 関数をエクスポートすることは可能ですか?
Emscripten 経由で、それぞれの JavaScript 関数に?
コンパイルができることはわかっていますが、JS コードから "fac" に正確にアクセスする方法はわかりません。
javascript - MLTon を利用して標準 ML を JavaScript にコンパイルする方法はありますか?
私が想像できる唯一の方法は Emscripten を使用することですが、MLTon には LLVM バックエンドがありません。なんとなく可能ですか?