Как скомпилировать cpp-файл внутри программы на C#
Я пытаюсь создать консольное приложение c++ judge system на C# для себя и нескольких друзей. Пользователь должен выбрать cpp-файл, папку с тестами(входной файл и выходной файл). Программа должна скомпилировать cpp-файл(у пользователя должен быть установлен компилятор gcc), выполнить его для каждого теста и оценить, совпадает ли вывод, заданный программой пользователя, с выходным файлом для этого теста. Я знаю, как сделать большинство вещей для программы, но я не знаю, как скомпилировать файл cpp. Я был бы очень благодарен, если бы кто-нибудь помог.
Что я уже пробовал:
Я пытался везде искать, как это сделать, я даже пытался смотреть на другие системы судей, но я не мог найти то, что искал.