Связывание V8 статически

У меня есть проект, который отлично работает с V8 динамически, но я хочу встроить его статически. Я могу успешно скомпилировать V8 как статический, но когда я включил получившиеся библиотеки в мой проект C ++ (который я также изменил на статическое связывание), я получаю такие ошибки:

Error   12  error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall v8::HandleScope::HandleScope(class v8::Isolate *)" (__imp_??0HandleScope@v8@@QAE@PAVIsolate@1@@Z)

У меня также есть много других ошибок. Я видел в некоторых постах упоминание v8.lib, но его нет. Однако есть файл v8.obj.

Любое понимание будет приветствоваться, спасибо.

1

Решение

Нашел проблему. На самом деле это четко указано в верхней части файла v8.h:

// Setup for Windows DLL export/import. When building the V8 DLL the
// BUILDING_V8_SHARED needs to be defined. When building a program which uses
// the V8 DLL USING_V8_SHARED needs to be defined. When either building the V8
// static library or building a program which uses the V8 static library neither
// BUILDING_V8_SHARED nor USING_V8_SHARED should be defined.

У меня все еще было определено «USING_V8_SHARED». Спасибо @drescherjm за указание в правильном направлении. 😉

2

Другие решения


По вопросам рекламы ammmcru@yandex.ru
Adblock
detector