编译要在linux下进行,环境搭建见上篇,若是不能连外网,比较简单是使用docker命令docker run -it --rm -v $(pwd):/home/src trzeci/emscripten sh
linux
解压下载到的压缩包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