如标题,我做了个最简单的测试。
test1.c
#include <stdio.h>
#include <emscripten.h>
EMSCRIPTEN_KEEPALIVE float add(float a, float b) {
return a + b;
}
emcc test1.c -o test1.js
生成的js,wasm能成功在html中调用add方法。
用cmake生成静态库,CMakeLists.txt 如下
# vim:noexpandtab:
cmake_minimum_required(VERSION 3.6)
project(TEST1)
add_library(libtest1 STATIC test1.c)
emcmake cmake;emmake make之后得到 liblibtest1.a
emcc liblibtest1.a -o test1.js
生成的js,wasm没有导出add方法,在html中无法调用add。
我再次用make时候生成的obj文件尝试
emcc test1.c.o -o test1.js
也能成功得到导出方法。
由于实际使用需求是完整项目,有多个源代码,如何通过最后生成的静态库.a文件来得到我需要的wam和js文件呢?
希望得到各位大神的解答,万分感谢。
相似问题