【发布时间】:2021-01-03 14:19:00
【问题描述】:
我有一个 CMake 项目 (C++),我想通过 WebAssembly 在 JavaScript 中使用它。要配置它,我使用emcmake cmake 并构建它emmake make。当我手动编译时,我可以成功编译零件:
emcc --bind test.cpp
但我想从emmake 的优势中获利。我需要emcc 的参数--bind。 emmake默认不加,导致报错:
error: undefined symbol: _embind_register_function (referenced by top-level compiled C/C++ code)
那么,在使用emmake make 构建时,如何添加它?我可以把它传递给emmake吗?或者我可以在我的CMakeLists.txt 中添加一些内容吗?
MCRE:
CMakeLists.txt:
cmake_minimum_required(VERSION 2.8)
project(MyTest)
add_executable(mytest test.cpp)
test.cpp:
#include "emscripten/bind.h"
using namespace emscripten;
std::string getText()
{
return "Hello there from C++!";
}
EMSCRIPTEN_BINDINGS(my_module) {
function("getText", &getText);
}
【问题讨论】:
标签: c++ cmake emscripten emmake emcmake