Как программно скомпилировать код c из кода c # с помощью компилятора mingw32-gcc - PullRequest
5 голосов
/ 26 марта 2012

Я хочу скомпилировать код C из c # программно.Я пытаюсь, но я не нашел никакого решения.Вот мой код.

try {
    var info = new ProcessStartInfo {
        FileName = "cmd.exe",
        Arguments = "mingw32-gcc -o a Test.c"
    };
    var process = new Process { StartInfo = info };
    bool start = process.Start();

    process.WaitForExit();
    if (start) {
        Console.WriteLine("done");
    }
} catch (Exception) {
    Console.WriteLine("Not done");
}

Я использую VS2010 в Windows 7, и я установил mingw32-gcc, и моя переменная окружения для mingw32-gcc равна C: \ Program Files \ CodeBlocks \ MinGW \bin Любая помощь будет оценена.Заранее спасибо.

Ответы [ 2 ]

8 голосов
/ 26 марта 2012

Попробуйте

Process process = Process.Start(
         @"C:\Program Files\CodeBlocks\MinGW\bin\mingw32-gcc.exe", "-o a Test.c");
2 голосов
/ 26 марта 2012

Вызывать программу cmd.exe не обязательно.Вы можете напрямую вызвать программу mingw32-gcc.exe с аргументами.

Редактировать:

string szMgwGCCPath = "C:\\mingw32\\bin\\mingw32-gcc.exe"; // Example of location
string szArguments = " -c main.c -o main.exe"; // Example of arguments
ProcessStartInfo gccStartInfo = new ProcessStartInfo(szMgwGCCPath , szArguments );
gccStartInfo.WindowStyle = ProcessWindowStyle.Hidden;
Process.Start(gccStartInfo );

С уважением

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...