在用react,electron,创建的程序时可以运行的,当添加sqlite3时,编译就过不去了,因为sqlite3是C++写的,所以在使用的时候我们不能直接用,需要编译下才可以使用,但是这个编译过程有些难走。
首先下载了electron-rebuild
npm install --save-dev electron-rebuild
然后,下载了sqlite3
npm install --save sqlite3
随后修改了package.json: //在scripts命令中添加此条
"scripts": {
"rebuild": "electron-rebuild -f -w sqlite3"
},
然后运行编译:
npm run rebuild
遇到了如下的错误:
zoe@DESKTOP-MEP5D54 MINGW64 /e/aPritice/appelectronnfc
$ npm run rebuild
> nfc-react-demo@0.1.0 rebuild E:\aPritice\appelectronnfc
> electron-rebuild -f -w sqlite3
- Searching dependency tree
× Rebuild Failed
An unhandled error occurred inside electron-rebuild
�ڴ˽��������һ������һ����Ŀ����Ҫ���ò������ɣ������ӡ�/m�����ء�
buffertools.cc
win_delay_load_hook.cc
c:\users\zoe\.electron-gyp\5.0.1\include\node\v8.h(4458): warning C4996: 'v8::WasmModuleObject::SerializedModule': ������Ϊ�ѷ�� (����Դ�ļ� ..\buffertools.cc) [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
c:\users\zoe\.electron-gyp\5.0.1\include\node\v8.h(4380): note: �μ���v8::WasmModuleObject::SerializedModule�������� (����Դ�ļ� ..\buffertools.cc)
c:\users\zoe\.electron-gyp\5.0.1\include\node\v8.h(10172): warning C4996: 'v8::Value::ToBoolean': ������Ϊ�ѷ�� (����Դ�ļ� ..\buffertools.cc) [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
c:\users\zoe\.electron-gyp\5.0.1\include\node\v8.h(2387): note: �μ���v8::Value::ToBoolean�������� (����Դ�ļ� ..\buffertools.cc)
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(32): error C2039: ��Handle��: ���ǡ�v8���ij�Ա [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
c:\users\zoe\.electron-gyp\5.0.1\include\node\v8-platform.h(16): note: ���v8��������
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(32): error C2873: ��Handle��: ���������� using ������ [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(256): warning C4996: 'v8::Value::Int32Value': ������Ϊ�ѷ�� [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
c:\users\zoe\.electron-gyp\5.0.1\include\node\v8.h(2446): note: ���v8::Value::Int32Value��������
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(261): warning C4996: 'v8::String::Utf8Value::Utf8Value': ������Ϊ�ѷ�� [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
c:\users\zoe\.electron-gyp\5.0.1\include\node\v8.h(2893): note: ���v8::String::Utf8Value::Utf8Value��������
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(266): warning C4996: 'v8::Value::ToObject': ������Ϊ�ѷ�� [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
c:\users\zoe\.electron-gyp\5.0.1\include\node\v8.h(10183): note: ���v8::Value::ToObject��������
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(272): warning C4996: 'v8::String::NewFromUtf8': ������Ϊ�ѷ�� [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
c:\users\zoe\.electron-gyp\5.0.1\include\node\v8.h(2785): note: ���v8::String::NewFromUtf8��������
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(329): warning C4996: 'v8::Value::Int32Value': ������Ϊ�ѷ�� [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
c:\users\zoe\.electron-gyp\5.0.1\include\node\v8.h(2446): note: ���v8::Value::Int32Value��������
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(363): warning C4996: 'v8::String::NewFromUtf8': ������Ϊ�ѷ�� [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
c:\users\zoe\.electron-gyp\5.0.1\include\node\v8.h(2785): note: ���v8::String::NewFromUtf8��������
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(381): warning C4996: 'v8::String::NewFromUtf8': ������Ϊ�ѷ�� [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
c:\users\zoe\.electron-gyp\5.0.1\include\node\v8.h(2785): note: ���v8::String::NewFromUtf8��������
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(419): warning C4996: 'v8::String::NewFromUtf8': ������Ϊ�ѷ�� [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
c:\users\zoe\.electron-gyp\5.0.1\include\node\v8.h(2785): note: ���v8::String::NewFromUtf8��������
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(449): warning C4996: 'v8::String::Utf8Length': ������Ϊ�ѷ�� [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
c:\users\zoe\.electron-gyp\5.0.1\include\node\v8.h(2556): note: ���v8::String::Utf8Length��������
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(452): warning C4996: 'v8::Value::ToObject': ������Ϊ�ѷ�� [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
c:\users\zoe\.electron-gyp\5.0.1\include\node\v8.h(10183): note: ���v8::Value::ToObject��������
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(460): warning C4996: 'v8::String::NewFromUtf8': ������Ϊ�ѷ�� [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
c:\users\zoe\.electron-gyp\5.0.1\include\node\v8.h(2785): note: ���v8::String::NewFromUtf8��������
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(470): warning C4996: 'v8::String::Utf8Value::Utf8Value': ������Ϊ�ѷ�� [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
c:\users\zoe\.electron-gyp\5.0.1\include\node\v8.h(2893): note: ���v8::String::Utf8Value::Utf8Value��������
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(475): warning C4996: 'v8::Value::ToObject': ������Ϊ�ѷ�� [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
c:\users\zoe\.electron-gyp\5.0.1\include\node\v8.h(10183): note: ���v8::Value::ToObject��������
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(482): warning C4996: 'v8::String::NewFromUtf8': ������Ϊ�ѷ�� [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
c:\users\zoe\.electron-gyp\5.0.1\include\node\v8.h(2785): note: ���v8::String::NewFromUtf8��������
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(492): error C2065: ��Handle��: δ�����ı�ʶ�� [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(492): error C2275: ��v8::Object��: ����������������ʽ�Ƿ� [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
c:\users\zoe\.electron-gyp\5.0.1\include\node\v8.h(3257): note: ���v8::Object��������
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(492): error C2065: ��target��: δ�����ı�ʶ�� [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(492): error C2182: ��RegisterModule��: �Ƿ�ʹ�á�void������ [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(492): error C2448: ��`anonymous-namespace'::RegisterModule��: ������ʽ��ʼֵ�趨�����ƺ������� [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(506): warning C4312: ������ǿ��ת����: �ӡ�int��ת��������ġ�node::addon_register_func�� [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
gyp ERR! build error
gyp ERR! stack Error: `C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\MSBuild.exe` failed with exit code: 1
gyp ERR! stack at ChildProcess.onExit (E:\aPritice\appelectronnfc\node_modules\node-gyp\lib\build.js:262:23)
gyp ERR! stack at ChildProcess.emit (events.js:182:13)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_pr