如何越过Clion,Emscripten和Cmake

在本文中,我将详细介绍如何配置CLion IDE以使用Emscripten编译CMake项目。当我做这个穿越时,我不得不花一两天的实验时间。在这篇文章中,我将整理一些最后的“操作方法”。

这些人都是谁?

Emscripten是用于将C ++代码编译为Asm.js / WebAssembly的一组工具。现在WebAssembly已经脱颖而出,

CMake是一个用于生成用于构建项目的脚本的系统。

CLion是最初用于使用CMake作为构建工具构建的C / C ++项目的开发环境。但是备份Emscripten并不容易

先决条件

对于所有一切都需要半步开始的主要要求,对于已经安装Python(最好是版本3)非常重要。另外python必须在命令行上可用\

Cmake至少需要版本 3.13

当然,不要忘了Git

设置Emscripten

下载emsdk。(https://github.com/emscripten-core/emsdk)

然后从命令行执行以下步骤:

  1. 下载最新版本的Emscripten

    ./emsdk install latest
  2. 我们激活最新版本

    ./emsdk activate latest

. help emsdk , . IDE.

CLion

, . File -> Settings. Build, Execution, Deployment -> Toolchains.

CLion Windows, MSYS2 ( MinGW ). gcc ++ header' .

Linux , Toolchain Windows:

+ MinGW.

Environment MSYS2. MSYS2 e:\msys64

CMake (, CLion CMake ).

! C Compiler C++ Compiler .bat . Linux .bat . , Emscripten python , shell python .

CMake. target :

Toolchains toolchain

: CMake Options -DCMAKE_TOOLCHAIN_FILE= emsdk Emscripten.cmake.

Emscripten.cmake C Compiler C++ Compiler - .

CMake.

. Build->Build Project. , .

  1. , , .js

    set(CMAKE_EXECUTABLE_SUFFIX .js)
  2. Emscripten . , emcc .js . , 1 ,



    , linker', . :

    target_link_options(project PUBLIC "SHELL: --pre-js ${CMAKE_CURRENT_SOURCE_DIR}/prejs.js --js-library ${CMAKE_CURRENT_SOURCE_DIR}/jsLib.js")
    target_link_options(project PUBLIC "SHELL: -s USE_GLFW=3 --preload-file glsl -s ALLOW_MEMORY_GROWTH=1")

    target_link_options Cmake . --preload-file , glsl , bundle'. .

  3. , . emscripten .js nodejs. .js nodejs :



    target_link_options(glslangValidator PUBLIC -s NODERAWFS=1)

, CLion Emscripten.








All Articles