CMake 中的 Emscripten 不输出 html 文件

问题描述 投票:0回答:0

我正在尝试使用 cmake 中的 emscripten 并生成一个 html 文件作为输出

但是它不输出html文件,而是只输出一个js和wasm文件。

我包含/设置 Emscripten 工具链文件并设置

CMAKE_EXECUTABLE_SUFFIX
,但它不起作用!

CMakeLists.txt

cmake_minimum_required(VERSION 3.2.1)

set(LINK_OPTIONS)

set(CMAKE_TOOLCHAIN_FILE $ENV{EMSDK_HOME}/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake)
set(CMAKE_EXECUTABLE_SUFFIX ".html")
set(LINK_OPTIONS ${LINK_OPTIONS} -sWASM=1 -sALLOW_MEMORY_GROWTH=1 -sNO_EXIT_RUNTIME=0 -sASSERTIONS=1)


project(emscripten_project)

add_executable(emscripten_project main.cpp)
target_link_options(emscripten_project PUBLIC ${LINK_OPTIONS})

main.cpp

#include <iostream>

int main()
{
    std::cout << "Emscripten Example\n";
    return 0;
}

配置和构建命令

cmake . -G Ninja && ninja

运行

ninja -v
,给出这个:

[2/2] cmd.exe /C "cd . && C:\emsdk\upstream\emscripten\em++.bat  -o emscripten_project.html -sUSE_GLFW=3 -sWASM=1 -sALLOW_MEMORY_GROWTH=1 -sNO_EXIT_RUNTIME=0 -sASSERTIONS=1 CMakeFiles/emscripten_project.dir/src/main.cpp.o -o emscripten_project.js && cd ."
cmake version is 3.25.2 and emcc version output is "emcc (Emscripten gcc/clang-like replacement + linker emulating GNU ld) 3.1.25 (febd44b21ecaca86e2cb2a25ef3ed4a0a2076365)"

重要的部分是在第一个

-o emscripten_project.js
之后有东西经过
-o emscripten_project.html

c++ cmake emscripten
© www.soinside.com 2019 - 2024. All rights reserved.