【问题标题】:What version of LLVM does the latest emscripten use?最新的 emscripten 使用什么版本的 LLVM?
【发布时间】:2018-03-09 13:04:12
【问题描述】:

最新的emscripten 使用什么版本的 LLVM? 我用谷歌搜索了一段时间,但找不到任何信息。背景是我有一些需要clang-5.0的C++代码——用emscripten编译的机会有多大?或者至少需要 clang-4.0 的代码?

【问题讨论】:

    标签: llvm emscripten webassembly


    【解决方案1】:

    最新版本的emscripten使用clang版本4:

    $ emcc -v
    emcc (Emscripten gcc/clang-like replacement + linker emulating GNU ld) 1.37.21
    clang version 4.0.0 (https://github.com/kripken/emscripten-fastcomp-clang.git 974b55fd84ca447c4297fc3b00cefb6394571d18) (https://github.com/kripken/emscripten-fastcomp.git 087c6b7b18b7b769d4ad8f2ac3e0dd0ae6b924c2) (emscripten 1.37.21 : 1.37.21)
    Target: x86_64-apple-darwin16.7.0
    Thread model: posix
    

    但是,您可以在不使用 emscripten 的情况下构建 WebAssembly,只需将 clang、llc、s2wasm 和 wasm 工具分别用作 documented in this gist

    另一个不错的选择是 wasm-toolchain 项目:

    https://github.com/tpimh/wasm-toolchain

    安装后,我有 clang 版本 6:

    $ ./clang --version
    clang version 6.0.0 (http://llvm.org/git/clang.git 9411957410813aeefc1bb299abcb856ce1ef8aae) (http://llvm.org/git/llvm.git 68b21d6108df63d65d6735e9686d53cca844e37a)
    Target: x86_64-apple-darwin16.7.0
    Thread model: posix
    

    【讨论】:

    • 嘿,太好了,非常感谢!没有 emscripten 的构建看起来也很有趣。我考虑过使用 embind ,但我想这只有在我使用 emscripten 构建时才有效?那么我会被绑定到 clang-4 还是有机会让它与更新的 clang 版本一起使用?
    • 我真的不知道你是否可以在 emscripten 中使用 embind!工具是我正在努力解决的问题。
    • 没有 emscripten 就不能使用 embind。 emscripten 提供的最大价值(与裸编译器相比)是库(例如 libc 和 libc++、GL 等)以及与已编译的 wasm 模块打包的 JavaScript 代码。 Embind 依赖于那个 JS 模块代码。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-04
    • 1970-01-01
    • 1970-01-01
    • 2014-12-12
    • 1970-01-01
    • 2021-06-23
    • 1970-01-01
    相关资源
    最近更新 更多