Неопределенная ссылочная ошибка в v8.h при компиляции файла cxx в оболочке swig - PullRequest
0 голосов
/ 05 июля 2019

Я пытаюсь преобразовать свой проект C ++ в javascript, используя swig. Я успешно могу сгенерировать wrap_file.cxx, но я не могу скомпилировать его дальше, чтобы сгенерировать файл JS. Во время компиляции он дает мне следующее ошибка

date_wrap.cxx: In function 'void SWIGV8_AddStaticVariable(v8::Handle<v8::Object>, const char*, SwigV8AccessorGetterCallback, SwigV8AccessorSetterCallback)':
date_wrap.cxx:1524:87: warning: ignoring return value of 'v8::Maybe<bool> v8::Object::SetAccessor(v8::Local<v8::Context>, v8::Local<v8::Name>, v8::AccessorNameGetterCallback, v8::AccessorNameSetterCallback, v8::MaybeLocal<v8::Value>, v8::AccessControl, v8::PropertyAttribute, v8::SideEffectType)', declared with attribute warn_unused_result [-Wunused-result]
 1524 |   obj->SetAccessor(SWIGV8_CURRENT_CONTEXT(), SWIGV8_SYMBOL_NEW(symbol), getter, setter);
      |                                                                                       ^
In file included from /usr/include/node/node.h:63,
                 from date_wrap.cxx:171:
/usr/include/node/v8.h:3454:37: note: declared here
 3454 |   V8_WARN_UNUSED_RESULT Maybe<bool> SetAccessor(
      |                                     ^~~~~~~~~~~
/usr/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/9.1.0/../../../../lib/Scrt1.o: in function `_start':
(.text+0x24): undefined reference to `main'
/usr/bin/ld: /tmp/ccvkThrk.o: in function `SWIG_V8_Raise(char const*)':
date_wrap.cxx:(.text+0xae6): undefined reference to `v8::Isolate::GetCurrent()'
/usr/bin/ld: date_wrap.cxx:(.text+0xaee): undefined reference to `v8::Isolate::GetCurrent()'
/usr/bin/ld: date_wrap.cxx:(.text+0xb07): undefined reference to `v8::String::NewFromUtf8(v8::Isolate*, char const*, v8::String::NewStringType, int)'
/usr/bin/ld: date_wrap.cxx:(.text+0xb0f): undefined reference to `v8::Exception::Error(v8::Local<v8::String>)'
/usr/bin/ld: date_wrap.cxx:(.text+0xb1a): undefined reference to `v8::Isolate::ThrowException(v8::Local<v8::Value>)'
/usr/bin/ld: /tmp/ccvkThrk.o: in function `SWIG_V8_ConvertInstancePtr(v8::Local<v8::Object>, void**, swig_type_info*, int)':
date_wrap.cxx:(.text+0xb5d): undefined reference to `v8::Isolate::GetCurrent()'
/usr/bin/ld: date_wrap.cxx:(.text+0xb6f): undefined reference to `v8::HandleScope::HandleScope(v8::Isolate*)'
/usr/bin/ld: date_wrap.cxx:(.text+0xb7e): undefined reference to `v8::Object::InternalFieldCount()'
/usr/bin/ld: date_wrap.cxx:(.text+0xce3): undefined reference to `v8::Object::SlowGetAlignedPointerFromInternalField(int)'
/usr/bin/ld: date_wrap.cxx:(.text+0xde2): undefined reference to `v8::HandleScope::~HandleScope()'
/usr/bin/ld: date_wrap.cxx:(.text+0xe04): undefined reference to `v8::HandleScope::~HandleScope()'
/usr/bin/ld: /tmp/ccvkThrk.o: in function `SWIG_V8_GetInstancePtr(v8::Local<v8::Value>, void**)':
date_wrap.cxx:(.text+0xe9d): undefined reference to `v8::Value::IsObject() const'
/usr/bin/ld: date_wrap.cxx:(.text+0xeba): undefined reference to `v8::Isolate::GetCurrent()'
/usr/bin/ld: date_wrap.cxx:(.text+0xec2): undefined reference to `v8::Isolate::GetCurrentContext()'
/usr/bin/ld: date_wrap.cxx:(.text+0xecd): undefined reference to `v8::Value::ToObject(v8::Local<v8::Context>) const'
/usr/bin/ld: date_wrap.cxx:(.text+0xeee): undefined reference to `v8::V8::ToLocalEmpty()'
/usr/bin/ld: date_wrap.cxx:(.text+0xf16): undefined reference to `v8::Object::InternalFieldCount()'
/usr/bin/ld: date_wrap.cxx:(.text+0x1078): undefined reference to `v8::Object::SlowGetAlignedPointerFromInternalField(int)'
/usr/bin/ld: /tmp/ccvkThrk.o: in function `SWIGV8_SetPrivateData(v8::Local<v8::Object>, void*, swig_type_info*, int)':
date_wrap.cxx:(.text+0x115b): undefined reference to `v8::Object::SetAlignedPointerInInternalField(int, void*)'
/usr/bin/ld: date_wrap.cxx:(.text+0x116b): undefined reference to `v8::Isolate::GetCurrent()'
/usr/bin/ld: date_wrap.cxx:(.text+0x11bb): undefined reference to `v8::V8::DisposeGlobal(v8::internal::Object**)'
/usr/bin/ld: date_wrap.cxx:(.text+0x1227): undefined reference to `v8::V8::GlobalizeReference(v8::internal::Isolate*, v8::internal::Object**)'
/usr/bin/ld: date_wrap.cxx:(.text+0x12a7): undefined reference to `v8::V8::MakeWeak(v8::internal::Object**, void*, void (*)(v8::WeakCallbackInfo<void> const&), v8::WeakCallbackType)'
/usr/bin/ld: date_wrap.cxx:(.text+0x12f6): undefined reference to `v8::V8::MakeWeak(v8::internal::Object**, void*, void (*)(v8::WeakCallbackInfo<void> const&), v8::WeakCallbackType)'
/usr/bin/ld: /tmp/ccvkThrk.o: in function `SWIG_V8_ConvertPtr(v8::Local<v8::Value>, void**, swig_type_info*, int)':
date_wrap.cxx:(.text+0x13f8): undefined reference to `v8::Isolate::GetCurrent()'
/usr/bin/ld: date_wrap.cxx:(.text+0x140a): undefined reference to `v8::HandleScope::HandleScope(v8::Isolate*)'
/usr/bin/ld: date_wrap.cxx:(.text+0x15a6): undefined reference to `v8::Value::IsObject() const'
/usr/bin/ld: date_wrap.cxx:(.text+0x15c3): undefined reference to `v8::Isolate::GetCurrent()'
/usr/bin/ld: date_wrap.cxx:(.text+0x15cb): undefined reference to `v8::Isolate::GetCurrentContext()'
/usr/bin/ld: date_wrap.cxx:(.text+0x15d6): undefined reference to `v8::Value::ToObject(v8::Local<v8::Context>) const'
/usr/bin/ld: date_wrap.cxx:(.text+0x15f7): undefined reference to `v8::V8::ToLocalEmpty()'
/usr/bin/ld: date_wrap.cxx:(.text+0x164e): undefined reference to `v8::HandleScope::~HandleScope()'
/usr/bin/ld: date_wrap.cxx:(.text+0x1670): undefined reference to `v8::HandleScope::~HandleScope()'

date_wrap.cxx - это упакованный файл. Я использую последнюю версию узла js, и я также не смог попробовать другие методы здесь http://swig.org/Doc3.0/Javascript.html

...