NodeJs Addon создает temp.node при каждом запуске и не может найти зависимости - PullRequest
0 голосов
/ 28 февраля 2019

Я создал аддон NodeJs после этого учебника , а затем упаковал его в электронный упаковщик.Приложение хорошо работает на моем ноутбуке, но на другом компьютере обнаружена ошибка:

enter image description here

Отслеживая ошибку, я обнаружил, что она создает файл temp.node (это мой C ++ Addon) в папке temp каждый раз, когда я запускаю приложение, но сам temp.node не может найти необходимые DLL-файлы.В то время как в ноутбуке, который успешно работает, он не будет создавать никакого temp.node.enter image description here

Это структура папок моего приложения:

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?

...