簡體   English   中英

Emscripten C++ 庫鏈接

[英]Emscripten C++ Library Link

我有一個基本的 C++ GLUT 程序,我正在嘗試從 C++ 函數內部運行 Javascript 代碼。 我找到了 Emscripten 並進行了大量測試,但我不知道如何在我的項目中實際使用它。 我將 emscripten 文件夾添加到編譯器的搜索目錄中,並且能夠 #include ,但我不斷收到“對 emscripten_run_script 的未定義引用”。 我知道這是不鏈接庫(-1SDL、-1glew32 等)的問題。 我查看了 Emscripten 網站上的示例和教程,但我不需要代碼,我需要示例項目或 Emscripten 庫的名稱和位置。 我如何鏈接 Emscripten 以便我可以從我的程序中調用 Emscripten 函數,或者甚至可能嗎?

編輯:

由於 Emscripten 是一個 Javascript 編譯器,有沒有一種方法可以(而不是將庫鏈接到我的項目)讓 Emscripten 作為部分代碼的編譯器,然后切換回 g++?

這是一個在您添加對 emscripten_run_script 的調用時起作用的示例項目。 下載Tim Hutton 的 C++ OpenGL 示例程序,並在 main() 函數的第一行添加以下代碼:

emscripten_run_script("alert('hi')");

它完美地工作。 我剛剛測試了它,它顯示了設計的警報。 我在 Windows 上使用了最新的Emscripten SDK並使用此命令編譯 main.cpp:

emcc main.cpp -s WASM=1 -s USE_SDL=2 -O3 -o index.js

我還嘗試了使用 EM_JS 的內聯 JavaScript 方法。 您可以在此處閱讀所有這些內容。

我在編譯到 WebAssembly ( -s WASM=1 ) 和 JavaScript ( -s WASM=0 ) 時都測試過這個。 兩種情況都可以完美運行並且具有相同的行為。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM