ngspice使用的时候如果使用一些高级功能可能需要xspice的支持,这是个动态库,编译使用:

下载代码

git clone https://git.code.sf.net/p/ngs... ngspice-ngspice

打开编译环境

docker run -it --rm -v $(pwd):/home/src trzeci/emscripten sh

安装依赖的库

apt update
apt install flex bison autoconf libtool flex bison
  1. 修改编译选项
ngspice_LDFLAGS = -s EXPORT_ALL=1 -s "EXPORTED_FUNCTIONS=['_memset', '_main']" -s MAIN_MODULE=1  -s FORCE_FILESYSTEM=1 -s "EXTRA_EXPORTED_RUNTIME_METHODS=['FS']"


$(cm)/$(cm).cm : $(cm-objs)
    #$(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(VIS_CFLAGS) $(LDFLAGS) $^ $(LIBS) -o $@
    $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(VIS_CFLAGS) $(LDFLAGS) $^ $(LIBS) -o $(cm).wasm

  1. 加载脚本

    最后生成的动态库使用spinit文件加载的,需要注意这个文件存放的位置在ft_cpinit中初始化

  2. 生成配置

    ./autogen.sh
    mkdir release
    cd release
    emconfigure ../configure --disable-debug --enable-xspice 
  3. 编译
    emmake make
    中间回碰到cmpp出错,可以再下载一份代码在主机上编译好之后将编译的cmpp文件夹覆盖到wasm编译的工程里

o_ra
6 声望4 粉丝

记录工作中碰到的问题


引用和评论

0 条评论