问题标签 [emcc]
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.
javascript - 有没有办法在 JavaScript 中使用 C++?
从这里,我发现 JavaScript 是用 C++ 编写的。我还发现/推断出大多数 JavaScript 是 C++(例如Math.atan+""
和Math.atan.toString()
yielding "function atan() { [native code] }"
)。我[native code
假设是 C++,否则“隐藏”它的意义何在?
我的问题是有没有办法在 JavaScript 中使用 C++?在函数或 JavaScript 平台中使用它?
gcc - 如何在 Emscripten 中设置 gcc 标志
我使用以下命令进行编译:
我现在想用 Emscripten 编译。如何将上述gcc
命令转换为emcc
命令?
emscripten - WebAssembly LinkError:_sprintf 函数导入需要可调用
在 JS 中从 Emscripten 编译的 WASM创建WebAssembly.Instance ,其中包括对sprintf的调用,会导致此错误:
未捕获(承诺中) LinkError: WebAssembly.Instance(): Import #1 module="env" function=" _sprintf " 错误:函数导入需要可调用的...
Emscripten不包含sprintf作为 libc 的一部分吗?
编码:
编译命令:
emcc编译运行没有错误。
注释掉sprintf行运行没有错误,按预期返回 0。
这个错误的原因是什么,在使用 sprintf 时如何避免?
emscripten - 致命:必须设置初始堆栈指针,共享:错误
我想用 emscripten 构建香蕉面包 c++ 项目。
我添加了 BINARYEN_ROOT 介绍 ./emscripten 。
我还构建了 BINARYEN。
错误日志:
致命:必须设置 initialStackPointer 共享:错误:'/Volumes/POMOCNI/WWW-HTDOCS/emsdk-demos/emsdk/emsdk/binaryen/tag-1.38.31/bin/wasm-emscripten-finalize /var/folders/hf/ (pk7l6fn14pj6qft1ns016bqh0000gn/T/emscripten_temp_oiJjbb/tmpDk949v.wasm -o /var/folders/hf/pk7l6fn14pj6qft1ns016bqh0000gn/T/emscripten_temp_oiJjbb/tmpDk949v.wasm.o.wasm24'base-features 失败)编译失败!make: *** [客户端] 错误 1
我的 src 是单个文件:
我的生成文件:
compilation - 使用 Emscripten 构建时如何包含库头?
我正在尝试在 Ubuntu 18.04 上构建codecbox.js,这涉及使用 emcc 构建 FFmpeg。我一直被误导性libmp3lame >= 3.98.3 not found
错误所困扰。就我而言,libmp3lame 安装没有问题。进一步排查FFmpeg的configure
脚本后,发现下面的测试文件用emcc编译失败:
我明白了fatal error: 'lame/lame.h' file not found
。
我在其中找到了标题,/usr/include/lame
所以我尝试使用emcc -I/usr/include
. 这消除了错误,但引入了许多其他错误。
然后我读到(例如这里)我不应该使用本地系统头文件,当我添加选项时会发生这种情况-I/usr/include
。
那么,在使用 SDK 中提供的 Emscripten 捆绑系统头文件时,确保 emcc 找到我的库头文件的正确方法是什么?
c - 与 emscripten 共享内存 ('sys/shm.h')
我一直在通过尝试编译一些使用“sys/shm.h”的基本 wasm 示例来探索 emscripten
这是我要编译的代码:
这是我的编译输出:
我猜 emscripten 中有共享内存支持,但我无法wasm-ld
正确链接它。任何人都可以帮忙吗?
谢谢,盖尔
c++ - Webassembly - 尝试编译代码缓冲区并通过 EM_JS 通过 C 执行它
我正在尝试使用 webassembly,并且我制作了一个玩具模块,可以在 C 中蛮力素数
}
在 Windows 中用 emcc /O3 编译它会得到以下字节流:
大多数人可能难以理解,但 VSC 的 WASM 到 WAT 工具表明这代表以下 WASM:
从另一个程序调用以下 EM_JS,其意图是来自 WASM,它告诉 javascript 引擎编译一些 WASM,然后执行它。
我收到此错误:
我不完全确定该去哪里,这主要是对 webassembly 的限制进行试验。
makefile - 有没有人尝试使用 clang/emcc 将 OpenBLAS 编译为 Webassembly?
在 linux 系统上的 OpenBLAS 根目录中,已经加载了 emcc sdk(在 emsdk 目录中,source ./emsdk_env.sh
)
我试图使用 emcc 来编译 OpenBLAS
make CC=emcc NOFORTRAN=1 HOSTCC=emcc BINARY=64 libs
,但它抱怨 cpuid.S。
我知道这是一个程序集文件,所以我也尝试使用 clang:
make CC="clang --target=wasm32" NOFORTRAN=1 HOSTCC=clang BINARY=64 libs
。然后我收到一条错误消息:
致命错误:后端错误:当前不支持 64 位 WebAssembly (wasm64)。
这是否意味着,不能使用 OpenBLAS 为 Webassembly x64 使用的静态链接创建 .a 库?有没有人在类似的用法上运气好?提前致谢!
我正在使用 clang 版本 10.0.0、emcc 版本 1.39.13 和 openBLAS 最新代码 (0.3.9.dev.a)。
opengl-es - 为什么我在 emscripten 使用“#version 300 es”得到“不支持的着色器版本”?
我不知道为什么#version 300 es
在我的顶点着色器中使用最新的 emscripten 1.39 时会收到“不支持的着色器版本”错误消息。有了#version 100
它可以正常工作。
对于我使用的内置emcc -s main.cpp -o index.html --shell-file shell.html -s USE_SDL=2 -s FULL_ES3=1
信息:
我做错了什么?
c++ - 编译依赖于 QTCore 库的 WASM
我有一个 MS Visual Studio 2015 项目,我在其中创建了一个类测试:
在 Visual Studio 项目属性中,我已经链接了 QTCore 库并包含在内。VS中的构建是成功的。
现在,我想使用这个类来创建 web-assembly api。要在 web-assembly 中编译此代码,我在终端中运行了以下命令:
我收到以下错误:
如何构建依赖于其他一些外部库的类?