Как установить аргумент для запуска файла класса с помощью QProcess? - PullRequest
0 голосов
/ 03 июля 2018

Мне было интересно, есть ли способ использовать QProcess для запуска main.cpp другого класса, чтобы войти в его выполнение как таковое

QProcess *myProcessA = new QProcess();
myProcessA->start("*Anotherclass*main.cpp");

Я могу запускать приложения и другие исполняемые аргументы через QProcess, но причина в том, что я интегрирую внешнее приложение (не написанное на C ++) в виджет в Qt.

Я могу запустить внешнее приложение с помощью QProcess, но для его встраивания мне нужно запустить его в другом основном потоке, который будет содержать процесс, который я уже создал, и синхронизировать их.

Звучит запутанно, но, пожалуйста, мой вопрос прост и понятен:

QProcess *myProcessA = new QProcess();
myProcessA->start("*Anotherclass*main.cpp");

Или, что еще лучше, как задать аргумент / путь для запуска файла класса, используя QProcess?

1 Ответ

0 голосов
/ 03 июля 2018

Вы не можете запустить исходный код C ++, используя QProcess, так же, как вы не можете запустить его из оболочки или проводника. Вы должны сначала скомпилировать его, чтобы создать отдельную программу. После компиляции запустите исполняемый файл, созданный с помощью QProcess так же, как вы это делали:

QProcess *myProcessA = new QProcess();
myProcessA->start("the_exec.exe"); // extension assuming Windows
...