編譯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裏面加上

8.引用ffi模塊一定不要放到渲染進程main的同級目錄裏面,用絕對路徑:const libpath = path.join(__dirname, "../../../static/CTestDLL32.dll");

9.之後就可以打包確認了,在打包過程會報一個錯誤,原因就是electron-rebuild不要放在dependencies中,之後要用的話再看我的文章下載它就好了!到這裏一個ffi應用調用dll模塊和打包的問題都搞定了!

 

如果在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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章