No se si entiendo bien la pregunta, pero creo entender que es una aplicación que recoge varios parámetros y con ellos el programa genera un programa que compila y genera un .exe.
Tu problema no todos los compiladores están en la misma ruta, esto la solución es sencilla o que el compilador este en la ruta del PATH o que la ruta sea uno de los parámetros.
Creo que aquí te va a surgir otro problema y es que no todo el mundo tiene el mismos compilador y cada uno de ellos tiene sus propios parámetros, esto la solución es que al tener la ruta ejecutes para ver versión y tu programa sepa poner los parámetros según compilador.
Tu problema no todos los compiladores están en la misma ruta, esto la solución es sencilla o que el compilador este en la ruta del PATH o que la ruta sea uno de los parámetros.
Creo que aquí te va a surgir otro problema y es que no todo el mundo tiene el mismos compilador y cada uno de ellos tiene sus propios parámetros, esto la solución es que al tener la ruta ejecutes para ver versión y tu programa sepa poner los parámetros según compilador.