wasm中使用gsl库

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

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

emconfigure ./configure
emmake make

编译结束时候会提示错误相似
error: undefined symbol: gsl_ran_beta (referenced by top-level compiled C/C++ code)
百度说是wasm对动态库支持很差,这是编译动态库时候出问题了先无论这些。code

在.libs目录已经生成了静态库libgsl.a把这个拷贝出来备用,头文件在gsl目录下拷贝出来备用ip

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

相关文章
相关标签/搜索