Я пытался использовать пакет libv8-3.8.9.20
в моем скрипте c ++. Пакет установлен в /usr/lib/
как положено, но если я попытаюсь скомпилировать свой скрипт с помощью команды g++ script.cpp -Iv8
, ничего не произойдет.
Что должно быть в заголовке скрипта, чтобы я мог использовать библиотеку? Вот что я попробовал:
#include <v8>
#include <libv8>
#include <libv8.so>
#include <v8.so>
На следующей строке была using namespace v8
команда. Когда я делаю это, g++
возвращает ошибку:
index.cpp:1:20: fatal error: libv8.so: No such file or directory
#include <libv8.so>
^
compilation terminated.
Или что-то в этом роде. Я даже пытался скомпилировать его без заголовка, но g++
это не понравилось.
Можно ли использовать библиотеку таким образом? И как? Спасибо, m93a
РЕДАКТИРОВАТЬ: После установки libv8-dev
(или libv8-3.14-dev
, я пробовал оба) бросает компилятор:
index.cpp: In function ‘int main(int, char**)’:
index.cpp:10:35: error: no matching function for call to ‘v8::HandleScope::HandleScope(v8::Isolate*&)’
HandleScope handle_scope(isolate);
^
index.cpp:10:35: note: candidates are:
In file included from index.cpp:1:0:
/usr/include/v8.h:473:3: note: v8::HandleScope::HandleScope(const v8::HandleScope&)
HandleScope(const HandleScope&);
^
и так далее ... (это слишком долго и все еще говорит, что что-то не найдено)
Я использую команду g++ main.cpp -lv8
.
Чтобы использовать библиотеку в программе, которую вы пишете (по крайней мере, на C / C ++), вам нужна не только скомпилированная библиотека (файл общего объекта .so
- ), но и файл заголовка , который описывает функции и структуры данных, используемые библиотекой.
Заголовочные файлы обычно не устанавливаются по умолчанию. Они обычно находятся в пакете под названием libwhatever-dev
, в данном случае libv8-dev
, который необходимо установить.
Затем вам понадобится строка:
#include <v8.h>
, чтобы включить заголовки V8. При компиляции вам также нужно указать g ++ для связи с библиотекой v8 (-lv8
). V8 - довольно сложный зверь, и было бы целесообразно найти рабочий пример или учебник, чтобы увидеть, как они его скомпилируют.
Наконец, примечание по терминологии: скрипт обычно относится к коду, который выполняется непосредственно из читаемой текстовой формы интерпретатором (таким как python
), тогда как этот должен быть сначала скомпилирован перед запуском.