2015-04-25 2 views
0

, имеющий проблемы со сборкой/использованием узла спрятан на mac os x 10.9.5. сборка прошла отлично с node-gyp. я имел только hidapi предупреждение:Узел с узлом для mac os x 10.9.5

gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ] 
    CC(target) Release/obj.target/hidapi/hidapi/mac/hid.o 
    ../hidapi/mac/hid.c:255:20: warning: comparison of integers of different signs: 
    'CFIndex' (aka 'long') and 'size_t' (aka 'unsigned long') [-Wsign-compare] 
      if (chars_copied == len) 
       ~~~~~~~~~~~~^~~~ 
    ../hidapi/mac/hid.c:295:20: warning: comparison of integers of different signs: 
    'CFIndex' (aka 'long') and 'size_t' (aka 'unsigned long') [-Wsign-compare] 
      if (used_buf_len == len) 
       ~~~~~~~~~~~~^~~~ 
2 warnings generated. 

но тестовый пример дает ошибку dyld:

sh# node src/show-devices.js 
dyld: lazy symbol binding failed: Symbol not found: _IOHIDManagerCreate 
    Referenced from: /Users/me/Documents/node-hid-master/build/Release/HID.node 
    Expected in: dynamic lookup 

почему IOKit не была найдена? спасибо заранее

ответ

0

ошибка в файле binding.gyp

изменен

'conditions': [ 
    [ 'OS=="mac"', { 
     'LDFLAGS': [ 
     '-framework IOKit', 
     '-framework CoreFoundation' 
     ], 
     'xcode_settings': { 
     'GCC_ENABLE_CPP_EXCEPTIONS': 'YES', 
     } 
    }], 

к этому

'conditions': [ 
    [ 'OS=="mac"', { 
     'LDFLAGS': [ 
     '-framework IOKit', 
     '-framework CoreFoundation' 
     ], 
     'xcode_settings': { 
     'GCC_ENABLE_CPP_EXCEPTIONS': 'YES', 
     'OTHER_LDFLAGS': [ 
      '-framework IOKit', 
      '-framework CoreFoundation' 
     ],  
     } 
    }], 

и теперь работает