首页 > 解决方案 > 致命错误 A1000:无法打开文件:deps\libffi\src\x86\win32.asm

问题描述

几天前我不得不使用 DLL,所以我在 node-gyp 构建后下载了 ffi-napi。那个时候 node-gyp build 在只将 gyp 文件添加到我的项目文件夹后运行得非常好;然后我必须将所有这些应用到 Electron,所以我对 Electron-project 文件夹执行了相同的过程(node-gyp 配置和构建),但它给了我以下错误;

Building assembly file ..\..\..\deps\libffi\src\x86\win32.asm
   Assembling: ..\..\..\deps\libffi\src\x86\win32.asm
MASM : fatal error A1000: cannot open file : ..\..\..\deps\libffi\src\x86\win32.asm [C:\Users\Lenovo\Desktop\pita2\build\deps\libffi\ffi.vcxproj]
C:\Users\Lenovo\Desktop\pita2\build\deps\libffi\ffi.targets(28,5): error MSB3721: The command "call ml "/nologo" "/safeseh" "/c" "/FoRelease\obj\ffi\win32.obj" "..\..\..\deps\libffi\src\x86\win32.asm"" exited with code 1. [C:\Users\Lenovo\Desktop\pita2\build\deps\libffi\ffi.vcxproj]
gyp ERR! build error
gyp ERR! stack Error: 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\MSBuild.exe' failed with exit code: 1
gyp ERR! stack     at ChildProcess.onExit (C:\Users\Lenovo\AppData\Roaming\npm\node_modules\node-gyp\lib\build.js:194:23)
gyp ERR! stack     at ChildProcess.emit (events.js:400:28)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:282:12)
gyp ERR! System Windows_NT 6.3.9600
gyp ERR! command "C:\\Program Files (x86)\\nodejs\\node.exe" "C:\\Users\\Lenovo\\AppData\\Roaming\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "build"
gyp ERR! cwd C:\Users\Lenovo\Desktop\pita2
gyp ERR! node -v v14.18.0
gyp ERR! node-gyp -v v8.2.0
gyp ERR! not ok

所以现在我不能对另一个新创建的文件执行“node-gyp build”,即使我没有安装电子。我已经搜索了这些问题和问题,但那些已经有了“win32.asm”文件,我没有答案。现在,当我检查时,我现在可以在我的项目中使用 ffi-napi,但我需要将这些东西打包为 Electron,所以我猜如果我现在不解决它,这个程序集文件会给我带来更多问题。我已经给 node-gyp 配置了我使用的 Python(3.10 - 32Bit) 和 VS(2019) 的版本,正如我在尝试应用到 Electron 之前所说的那样,node-gyp 构建工作得很好,但现在都坏了。在配置中,有“输入文件”的警告。

Warning: Missing input files:
C:\Users\Lenovo\Desktop\first-test\build\deps\libffi\..\..\..\deps\libffi\src\x86\ffi.c
C:\Users\Lenovo\Desktop\first-test\build\deps\libffi\..\..\..\deps\libffi\src\closures.c
C:\Users\Lenovo\Desktop\first-test\build\deps\libffi\..\..\..\deps\libffi\src\prep_cif.c
C:\Users\Lenovo\Desktop\first-test\build\deps\libffi\..\..\..\deps\libffi\src\x86\win32.asm
C:\Users\Lenovo\Desktop\first-test\build\deps\libffi\..\..\..\deps\libffi\src\x86\ffi64.c
C:\Users\Lenovo\Desktop\first-test\build\deps\libffi\..\..\..\deps\libffi\src\java_raw_api.c
C:\Users\Lenovo\Desktop\first-test\build\..\src\threaded_callback_invokation.cc
C:\Users\Lenovo\Desktop\first-test\build\deps\libffi\..\..\..\deps\libffi\test.c
C:\Users\Lenovo\Desktop\first-test\build\deps\libffi\..\..\..\deps\libffi\src\raw_api.c
C:\Users\Lenovo\Desktop\first-test\build\..\src\ffi.cc
C:\Users\Lenovo\Desktop\first-test\build\..\src\win32-dlfcn.cc
C:\Users\Lenovo\Desktop\first-test\build\..\src\callback_info.cc
C:\Users\Lenovo\Desktop\first-test\build\deps\libffi\..\..\..\deps\libffi\closure.c
C:\Users\Lenovo\Desktop\first-test\build\deps\libffi\..\..\..\deps\libffi\src\types.c

我不知道如何获取这些文件或在那里创建它们。

标签: electronbackendmasmnode-gyplibffi

解决方案


推荐阅读