編譯要在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