编译ffi

先附上所有文章链接

https://www.520mwx.com/view/32963?tdsourcetag=s_pcqq_aiomsg

https://www.jianshu.com/p/45df1dc37478

https://blog.csdn.net/wang839305939/article/details/83780789

 

 

首先需要安装node-gyp的依赖,详细文章可以看我的

https://blog.csdn.net/lbn2676043895/article/details/89881180

https://blog.csdn.net/lbn2676043895/article/details/89954920

其实流程就是  

1.cmd管理员模式打开,运行npm install windows-build-tools命令安装py环境和.net环境,这里最好是用npm安装,cnpm安装的后面会出问题;千万注意!!过程会有卡顿,一定得让它自动跑完install流程,流程跑完后在windows-build-tools文件夹里会有python的安装包,可是尝试安装,并配置环境变量

2.npm install -g node-gyp  全局安装 yarn config set registry https://registry.npm.taobao.org/   yarn config set ELECTRON_MIRROR http://npm.taobao.org/mirrors/electron/

3.npm install -g electron-rebuild  全局安装,这个是后面编译electron和ffi模块相关的

4.项目根目录yarn install ffi --save,ffi模块有时候下载失败,可以尝试ffi-napi

5.项目根目录yarn install electron-rebuild --dev

4.然后就可以开始了,先把electron-vue项目生成好,然后yarn install,等待下载好所有模块

5.electron-rebuild -v 2.0.4 -a ia32  项目根目录运行命令,我这里是用的32位的node和32位的dll,electron,所以如果要使用64位的话就把ia32改成64即可  2.0.4对应的是electron的版本号(如果要打包32位系统的,node.js一定要换成32位的版本);

有时候会失败,根据过往经验,把electron换成2.0.18可以成功,不过不是绝对的,也可以把window-build-tools中的vs打开,装一个c++开发工具,然后关机重启

如果electron-rebuild失败,可能是由于本地数据库的关系,先去掉sqlite3的配置

6. .\node_modules\.bin\electron-rebuild.cmd  项目根目录运行此命令,我当时命令行运行出问题,于是直接找到目录里面去打开cmd执行了

7.文件放在static文件夹中,需要在package.json中,win里面加上

编译ffi_第1张图片

8.引用ffi模块一定不要放到渲染进程main的同级目录里面,用绝对路径:const libpath = path.join(__dirname, "../../../static/CTestDLL32.dll");

9.之后就可以打包确认了,在打包过程会报一个错误,原因就是electron-rebuild不要放在dependencies中,之后要用的话再看我的文章下载它就好了!到这里一个ffi应用调用dll模块和打包的问题都搞定了!

编译ffi_第2张图片

 

如果在electron中要调用SQLite

方法1:
 在package.json中script 添加 "postinstall": "install-app-deps",
 然后在项目根目录下启动命令行执行 yarn add sqlite3 --runtime=electron --target=2.0.18 --dist-url=https://atom.io/download/electron --save

跑一遍electron-rebuild -v 2.0.4 -a ia32就可以了

 

方法2:在安装好的sqlite3目录内执行:node-gyp rebuild --target=2.0.18 --arch=x64 --target_platform=win32 --dist-url=https://atom.io/download/electron/ --module_name=node_sqlite3 --module_path=../lib/binding/electron-v2.0.18-win32-x64

你可能感兴趣的:(前端,electron)