问题标签 [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.
c++ - Emscripten:致命错误:找不到“tr1/unordered_map”文件
所以我正在尝试使用 emscripten 编译以下代码:
我的实际代码要大得多,但我在这里缩短了它以强调我的主要疑问(我已经留下了我正在使用的所有头文件)。此代码使用 g++ 完美编译并提供所有预期输出。
但是当我使用 将它编译为 Web 程序集时emcc test.cpp -s WASM=1 -o TRY.html
,它给了我这个错误:
为什么 emcc 找不到这个文件?是否有另一种方法来处理 C++ 中的 unordered_maps?
我正在使用 tr1,因为我在 Stack Overflow 问题中遇到了同样的错误:C++ error: 'unordered_map' does not name a type
有人可以帮我吗?
c - Emscripten 编译错误:“'openssl/sha.h' 文件未找到”
我有一个名为“speed.c”的文件,我希望将其用于网络程序
这有效:
但这不会:
speed.c 中的函数称为“速度”。在 Emscripten 的网站上,它说编译器和其他编译器一样,所以这个让我很困惑。有什么帮助吗?谢谢!
c++ - 在 emcc 编译期间忽略 EXPORTED_FUNCTIONS
我正在尝试学习如何将 CPP 编译到 WASM 中,但我似乎无法让它正常工作。
我有一个简单的 CPP 代码,它实现了一个对给定整数进行平方的平方函数:
我可以将它编译成 WASM,但是当我尝试在 JS 中加载它时,它说没有导出函数。查看 WAT 版本(通过从 wabt 运行 wasm2wat)很明显,问题在于 squarer 函数没有被导出。
所以我尝试使用 EXPORTED_FUNCTIONS 标志再次编译(请参见以下行),但我收到以下警告并且 squarer 函数仍未导出。
当我编辑 WAT 以包含导出(通过更改func $_Z7squareri
为func (export "squarer")
)并将其编译回 WASM 时,JS 成功加载了该函数,因此似乎缺少导出确实是问题所在。
我在两台 linux 机器上测试了它(一台运行 ubuntu 20.04,另一台运行 18.04,两者都按照MDN 网站中的说明从他们的 github 下载了最新版本的 emsdk )。我还尝试使用所有其他带有“EXPORT”的 emcc 标志,但它们都得到了相同的警告。
这是我第一次构建 WASM 模块,我从互联网上学到了所有东西,所以我可能错过了一些关键步骤。我做错了吗?
我是否使用过时的工具?
我应该使用 WASM 编译器的更好/更新的 CPP 吗?
谢谢!伊泰
emcc - Emscripten:如何确保链接库实际上是链接的
在与我一起探索时,webgl2_draw_packed_triangle.c
我惊讶地发现,无论是否显式设置标志,只有在调用某些特定于 GL 的代码时才会创建生成代码中-lGL
的全局对象。GL
例如,在尝试了webgl2_draw_packed_triangle.c
以下在生成的 JS 中触发 GL 上下文的最小代码后:
也就是说,如果不调用 emscripten_webgl_create_context 甚至不会创建 GL 上下文。
所以,我的问题是 - 如何强制执行 GL 声明,这可能吗?
这是我的编译方式:
c++ - Bazel 目标在 gcc 中编译,但在 emscripten 中失败
我正在使用 Bazel 构建一个系统,其中我有一个 c++ 目标和一个 emscirpten (emcc) 目标来编译为 Web 程序集。两者都依赖于“myAPI”,它具有外部依赖项 libpng、libz、opencv 和其他一些。
这可以正确编译:
但是,这失败了:
这是我的API:
最后,这些是所有依赖项:
特征:
图书馆:
地理中心:
开放式简历:
spd日志:
库:
zLib:
我收到一堆包含错误,例如: 致命错误:找不到'pnglibconf.h'文件
据我了解,这是一个链接器问题,其中“pnglibconf.h”应该由编译器创建并编译到链接器应该能够链接的库中。
特别奇怪的是,唯一的依赖“:myAPI”用g++正确编译,所以一定是设置正确的linkoptions的问题?
任何帮助将不胜感激!
谢谢,
raylib - 尝试使用 Raylib for Web
我一直在关注这个。
我有一个全新的 Ubuntu 20.04 LTS 安装。
首先,我看到我们需要 emscripten。我一直关注这里安装。
(这是在谷歌云上全新安装的 Ubuntu 上)
我也添加source "/home/celebisait_gmail_com/emsdk/emsdk_env.sh"
到我的~/.bashrc
.
直到这里,一切似乎都很好。
我跳到这里来验证一切是否安装正确。
好像
在一个基本hello_world.c
程序上工作。
好的,我们继续安装raylib。
我将这些添加到我的.profile
:
然后我去raylib/src
,我做:
emcc
即使我显然有,我也找不到emcc
:
任何帮助,将不胜感激。
c - 编译简单代码时找不到 emscripten.h
我有一个包含 emscriptem.h #include <emscriptem.h> 的简单函数的 ac 文件
我也完全按照安装说明进行操作。
我得到:main.c:3:10:致命错误:找不到'emscriptem.h'文件当我运行时:emcc main.c -s WASM=1
我必须自己编译还是什么?无法在 emcc 安装文件夹中找到它。