Я создал аддон NodeJs после этого учебника , а затем упаковал его в электронный упаковщик.Приложение хорошо работает на моем ноутбуке, но на другом компьютере обнаружена ошибка:
Отслеживая ошибку, я обнаружил, что она создает файл temp.node (это мой C ++ Addon) в папке temp каждый раз, когда я запускаю приложение, но сам temp.node не может найти необходимые DLL-файлы.В то время как в ноутбуке, который успешно работает, он не будет создавать никакого temp.node.
Это структура папок моего приложения:
NodeJsAddon
|-- build
|-- node_modules
|-- src
|-- binding.gyp
|-- package.json
`-- package-lock.json
ElectronApp -> require('.build/NodeJsAddon')
|-- css
|-- js
|-- images
|-- filename
|-- package.json
`-- package-lock.json
binding.gyp:
{
"targets": [{
"target_name": "test-addon",
"cflags!": [ "-fno-exceptions",
"-std=c++11" ],
"cflags_cc!": [
"-fno-exceptions",
"-std=c++11"
],
"sources": [
"src/main.cpp",
"src/blabla/blabla.cpp""
],
'include_dirs': [
"<!@(node -p \"require('node-addon-api').include\")",
"$(ENV)/include",
"../../some/thirdparty",
],
'libraries': [
"$(ENV)/some/thirdparty.lib",
],
'dependencies': [
"<!(node -p \"require('node-addon-api').gyp\")"
],
'defines': [ 'NAPI_DISABLE_CPP_EXCEPTIONS' ]
}]
}
Должен ли я скопировать эти библиотеки в мою папку ./build после того, как я скомпилировал дополнение с помощью node-gyp и VC ++?Или я пропустил какой-либо важный шаг для полного развертывания моего аддона NodeJs?