乐趣区

关于webassembly:wasm中使用gsl库

编译要在 linux 下进行,环境搭建见上篇,如果不能连外网,比较简单是应用 docker 命令
docker run -it --rm -v $(pwd):/home/src trzeci/emscripten sh

解压下载到的压缩包
tar -zxvf gsl-2.6.tar.gz
编译库

emconfigure ./configure
emmake make

编译完结时候会提醒谬误相似
error: undefined symbol: gsl_ran_beta (referenced by top-level compiled C/C++ code)
百度说是 wasm 对动静库反对不好,这是编译动静库时候出问题了先不论这些。

在.libs 目录曾经生成了动态库 libgsl.a 把这个拷贝进去备用,头文件在 gsl 目录下拷贝进去备用

应用相似命令
emcc demo.cc libgsl.a -I. -o demo.js -s "EXTRA_EXPORTED_RUNTIME_METHODS=['ccall','cwrap','setValue','getValue']" -lm
就能够应用 gsl 库了

退出移动版