在本文中,我将详细介绍如何配置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)
然后从命令行执行以下步骤:
下载最新版本的Emscripten
./emsdk install latest
我们激活最新版本
./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. , .
, , .js
set(CMAKE_EXECUTABLE_SUFFIX .js)
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'. ., . emscripten .js nodejs. .js nodejs :
target_link_options(glslangValidator PUBLIC -s NODERAWFS=1)
, CLion Emscripten.