@Drottarutarnum
Любопытный любитель

Как подключить библиотеку в napi binding.gyp?

Я пытаюсь создать плагин для node js, для этого мне нужно использовать последовательный порт внутри

Я решил взять libserialport - https://github.com/sigrokproject/libserialport

Но при компиляции я получаю ошибку
/src/lserialport/serialport.c(1,1): error C1083: Не удается открыть файл источник: ..\src\lserialport\serialport.c


Вот мой binding.gyp
{
  'targets': [
    {
      'target_name': 'nserial',

      "conditions": [
        ["OS=='win'", {
          "sources": [
              'src/NativeModule.cc',
              "src/lserialport/serialport.c",
              "src/lserialport/timing.c",
              "src/lserialport/windows.c",
          ],
          "libraries": [
            "-lsetupapi"
          ]
        }],
        ["OS=='linux'", {
          "sources": [
              'src/NativeModule.cc',
              "src/lserialport/serialport.c",
              "src/lserialport/timing.c",
              "src/lserialport/linux.c",
              "src/lserialport/linux_termios.c"
          ]
        }],
        ["OS=='mac'", {
          "sources": [
              'src/NativeModule.cc',
              "src/lserialport/serialport.c",
              "src/lserialport/timing.c",
              "src/lserialport/macosx.c"
          ]
        }],
      ],

      'defines': [ 'LIBSERIALPORT_ATBUILD' ],

      'include_dirs': [
          "<!@(node -p \"require('node-addon-api').include\")",
          "src/lserialport"
      ],

      'cflags': ['-std=c99', '-Wall', '-Wextra', '-pedantic', '-Wmissing-prototypes', '-Wshadow'],

      'dependencies': ["<!(node -p \"require('node-addon-api').gyp\")"],
      'xcode_settings': {
        'GCC_ENABLE_CPP_EXCEPTIONS': 'YES',
        'CLANG_CXX_LIBRARY': 'libc++',
        'MACOSX_DEPLOYMENT_TARGET': '10.7',
        'OTHER_LDFLAGS': ['-framework IOKit', '-framework CoreFoundation']
      },
      'msvs_settings': {
        'VCCLCompilerTool': { 'ExceptionHandling': 1 },
      }
    }
  ]
}


И чистый проект с примером проблемы - https://drive.google.com/file/d/1u2Lv-wfnXXKd_b-iA...
  • Вопрос задан
  • 38 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы