首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >emcc 从静态库.a 生产的wasm文件为什么没有导出函数?

emcc 从静态库.a 生产的wasm文件为什么没有导出函数?

提问于 2022-11-02 11:40:59
回答 0关注 0查看 114

如标题,我做了个最简单的测试。

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文件呢?

希望得到各位大神的解答,万分感谢。

回答

和开发者交流更多问题细节吧,去 写回答
相关文章

相似问题

相关问答用户
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档