SWIG и v8: как переопределить SWIG_Object? - PullRequest
0 голосов
/ 23 марта 2020

Мне нужно определить SWIG_Object в зависимости от выбранной версии Node.js (см. Этот выпуск GitHub ). Более старые версии отображают v8::Handle<v8::Value> на SWIG_Object, но современные Node.js версии удалили v8::Handle<v8::Value> и вместо них используют v8::Local<v8::Value>.

Следующий фрагмент кода в Lib/javascript/v8/javascripttypemaps.swg не работает, так как эту точку V8_MAJOR_VERSION нельзя проверить:

#if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031903)
#define SWIG_Object                     v8::Handle<v8::Value>
#else
#define SWIG_Object                     v8::Local<v8::Value>
#endif

Как обойти эту проблему?

...