Это пример кода, который я пытаюсь выполнить в Qt Creator. Я включил все библиотеки JX в Qt. Код JX c ++ хорошо работает вне Qt, но я хочу, чтобы он работал внутри Qt. Пожалуйста, просмотрите код и предложите мне способ достичь этого.
В настоящее время я получаю ошибки, такие как «неопределенная ссылка на` v8 :: Locker :: Locker (v8 :: Isolate *) ‘»и 1000 подобных ошибок. Я догадываюсь, потому что qt не распознает библиотеки JX.
Заранее спасибо.
#include "mainwindow.h"#include <QApplication>
#include "jx.h"
#if defined(_MSC_VER)
// Sleep time for Windows is 1 ms while it's 1 ns for POSIX
// Beware using this for your app. This is just to give a
// basic idea on usage
#include <windows.h>
#else
#include <unistd.h>
#define Sleep(x) usleep(x)
#endif
void callback(JXValue *results, int argc) {
// do nothing
}
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
const char *contents =
"process.requireGlobal = require;";
JX_Initialize(argv[0], callback);
JX_InitializeNewEngine();
JX_DefineMainFile(contents);
JX_StartEngine();
JXValue ret_val;
JX_Evaluate("process.requireGlobal('./dummy.js').data",
"eval",&ret_val);
while (JX_LoopOnce() != 0) usleep(1);
JX_Free(&ret_val);
JX_StopEngine();
return a.exec();
}
Да, «неопределенная ссылка на» является ошибкой компоновщика.
Это связано с тем, что компоновщик не может найти библиотеку (библиотеки) по тем путям, которые у него уже есть, поэтому вам нужно указать ее (их) и сделать это в файле .pro вашего проекта Qt ,
.Pro-файл работает аналогично make-файлу: здесь вы должны указать «дополнительные» пути, в которых расположены исходные и заголовочные файлы, а также библиотеки.
Для вашего конкретного вопроса вам нужно добавить все библиотеки, запрашивающие работу jxcore, добавив их к ключевому слову «ЛИЭС«: -L ввести пути, по которым хранятся библиотеки, в то время как -L представьте библиотеки, которые вы хотите использовать. То есть
LIBS += -L/path/to/your/libraries \
-lname_of_library_without_lib
Более подробное описание вы можете найти по этой ссылке http://doc.qt.io/qt-4.8/qmake-project-files.html
Перейдите непосредственно к последнему разделу, если вам просто интересно, как добавлять библиотеки
Надеюсь, поможет
Других решений пока нет …