NodeJs Addon создает temp.node при каждом запуске и не может найти зависимости

Я создал аддон 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?

0 ответов

Другие вопросы по тегам