Как встроить с++ компилятор в приложение написанное на Qt?
как встроить с++ компилятор в проект с графическим интерфейсом в qt? Я хочу что бы пользователь написав какой то код в текстовой области, мог нажать на некую кнопку компиляции и что бы в модальном окошке или где то ещё(неважно) можно было как в консоли вводить данные и получать ответ. То есть я хочу допустим встроить какой нибуть mingw или что то другое и отправлять ему полученный из "моей консоли" текст и получать на ответ всё что обычно выводится в консоль. Пожалуйста помогите очень надо.
Ну просто кидайте бинарник mingw в папку со своей программой и посылайте ей команды на компиляцию через system().
Что-то типа:
1. Считать код из textarea;
2. Сохранить его в файл;
3. Скормить компилятору;
4. Если ошибок нет, то запустить со стандартным выводом в тот же файл (если не осилите потоки);
5. Считать файл и вывести юзеру;
6. Если ошибки есть, то вывести их юзеру.
Kirixo, mingw можно и не кидать в папку с программой, главное, чтоб он был установлен в системе и путь к нему прописан в переменной окружения PATH.
Кроме mingw есть и другие варианты компилятора: микросовтовский компилятор, msys2+mingw, msys2+clang, компилятор от интел (платный) и т.п.
Под линуксом все проще - компилятор должен быть установлен в систему. Но и там компиляторы могут быть разные.
Разные компиляторы отличаются друг от друга набором параметров.
Можно посмотреть как работа с компилятором реализована например в qtcreator как с точки зрения настройки компилятора и среды сборки в интерфейсе, так и в исходниках.
Если использовать каналы (pipe) для перенаправления stdin/stdout/stderr компилятора, то вы сможете в режиме он-лайн анализировать вывод компилятора, а не ждать пока компилятор завершит работу. Правда при этом запускать компилятор уже придется не через system(). Думаю, что в Qt есть какая-то обвязка для запуска процессов.