描述
我想将 edge-js 与 nw.js 一起使用。由于 edge-js 不是纯 js 包,我必须用 nw-gyp 重建它才能使其工作。(https://github.com/nwjs/nw.js/wiki/using-node-modules)
尝试使用 nw-gyp 重新构建 edge-js,但面临编译问题。附上错误快照
按照以下 2 个链接安装 nw-gyp https://github.com/nwjs/nw-gyp#installation
使用 nw https://github.com/nwjs/nw.js/wiki/Build-native-modules-with-nw-gyp构建 edge-js
包版本
“edge-js”:“^15.5.2”
用于构建的命令
nw-gyp 配置 --target=0.42.3
nw-gyp 重建 --target=0.42.3
nw.js v0.42.3
错误消息和堆栈跟踪
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\vcclr.h(16):错误:无效的预处理指令 [E:\compile_node_modules\node_modules\edge -js\build\edge_nati veclr.vcxproj]
在 ..\src\dotnet\utils.cpp:1 包含的文件中:
在 ..\src\dotnet/edge.h:22 包含的文件中:
在 C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\vcclr.h:17 中包含的文件中:
在 C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\gcroot.h:42 中包含的文件中:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\msclr/gcroot.h(58):错误:使用未声明的标识符“系统”[E: \compile_node_modules\node_modules\edge-js\build\edge_nativeclr.vcxproj] 在 ..\src\dotnet\utils.cpp:1 包含的文件中:
在 ..\src\dotnet/edge.h:22:C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\vcclr.h( 29):错误:使用未声明的标识符“系统”[E:\compile_node_modules\node_modules\edge-js\build\edge_nativeclr.vcxproj]
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\vcclr.h(30): error : use of undeclared identifier 'System' [E:\compile_node_modules \node_modules\edge-js\build\edge_nativeclr.vcxproj]
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\vcclr.h(31):错误:使用未声明的标识符“系统”[E:\compile_node_modules \node_modules\edge-js\build\edge_nativeclr.vcxproj]
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\vcclr.h(32):错误:使用未声明的标识符“系统”[E:\compile_node_modules \node_modules\edge-js\build\edge_nativeclr.vcxproj]
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\vcclr.h(44): error : use of undeclared identifier 'System' [E:\compile_node_modules \node_modules\edge-js\build\edge_nativeclr.vcxproj]
在 ..\src\dotnet\utils.cpp:1 包含的文件中:
..\src\dotnet/edge.h(24):错误:无效的预处理指令 [E:\compile_node_modules\node_modules\edge-js\build\edge_nativeclr.vcxproj]
..\src\dotnet/edge.h(25):错误:无效的预处理指令 [E:\compile_node_modules\node_modules\edge-js\build\edge_nativeclr.vcxproj]
..\src\dotnet/edge.h(27):错误:使用未声明的标识符“系统”[E:\compile_node_modules\node_modules\edge-js\build\edge_nativeclr.vcxproj]
相关信息
环境:Windows_NT 10.0.19041 npm 配置
\edge-js> npm config get
; cli configs
metrics-registry = "https://registry.npmjs.org/"
scope = ""
user-agent = "npm/6.13.4 node/v12.14.1 win32 x64"
; userconfig C:\Users\<user>\.npmrc
msvs_version = "2015"
node_gyp = "C:\\Users\\<user>\\AppData\\Roaming\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js"
python = "python2.7"
; globalconfig C:\Users\<user>\AppData\Roaming\npm\etc\npmrc
node_gyp = "C:\\Users\\<user>\\AppData\\Roaming\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js"
; builtin config undefined
prefix = "C:\\Users\\<user>\\AppData\\Roaming\\npm"
; node bin location = C:\Program Files\nodejs\node.exe
; cwd = E:\compile_node_modules\node_modules\edge-js
; HOME = C:\Users\<user>
; "npm config ls -l" to show all defaults.