Electron-Vue,踩坑之调用DLL动态链接库(ffi)

645 字
3 分钟
Electron-Vue,踩坑之调用DLL动态链接库(ffi)

需接上文,搭建后之后,因为vue网站已经改建好了, 只是一些事务还未处理,不清楚是在主进程还是渲染进程处理。 vue项目文件复制到之前新建的项目钟后,安装依赖都是一些直观的小错误。 但是今天需要处理文件信息的时候发现,node.js fs模块需要的信息不够 所以决定调用win32 api。

调用动态链接库#

搜了一下,使用的是 ffi模块, 二话 不说直接 yarn add ffi 发现各种报错,都是 node-gyp 这个模块 报的错 随即看了下npm上, https://www.npmjs.com/package/node-gyp Windows下需要,C++开发环境以及Python2.7

检查了一下我这里安装的是vs2019的预览版,conda环境 就新建了一个 python2.7的环境 又试了几次安装,发现还是报错 还是C++的问题 有回头去npm上看了一下,上面说要VS2017. 又检查了以下报错信息,说是找不到MSBuild 恍然大悟,2017和2019路径不同,只好卸载2019重更新安装了2017 最终:


错误1:Python版本不对#

这种或者类似这种就是Python问题,我这个错误是版本不对调用的是Python3 解决办法:

  1. 可以按照node-gpy给的提示,直接安装构建环境。会默认安装python2.7,和C++构建工具。或手动去Python官网下载2.7版本的
npm install --global --production windows-build-tools
  1. 修改全局配置,定向Python
# 后面修改为你的2.7版本Python路径
npm config set python C:\Program Files\Python2.7\python.exe

错误2:C++构建工具不存在或版本不对#

这个截图弄丢了,但是记住几个关键字就行了,就是让你安装.net2.0或vs2005 是中文提示但是有可能变成方块,这个控制台方块问题百度就行了。 解决办法:

  1. 还是按照上面的方法安装环境,但是前提是电脑里没有其他版本的开发环境。 因为我这里默认有个个2019的环境,之前修改c#程序安装的。再安装这个windows-build-tools 木有效果。

  2. 安装vs2017,并指定构建工具版本 注意啊,这里的vs都是开发环境可不是运行环境。 紧接着用下面的命令设置 vs版本

npm config set msvs_version 2017
  1. 如果电脑里有2017或2017以下的开发环境,可以尝试直接指定版本 实测2019木有。
npm config set msvs_version 2015

虽说通往成品的路上,全是大坑。 不要紧,我帮你添上了~

Electron-Vue,踩坑之调用DLL动态链接库(ffi)
https://x-item.com/electron-vue-dll.html
作者
惟一 / Virace
发布于
2019-04-08
许可协议
MIT