0

我正在使用 VB.NET 为 C/C++ 开发一个 IDE。我需要确保在用户单击“编译”菜单项并将任何错误重定向到 GUI 时编译程序。我写了以下代码

 Private Sub CompileToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CompileToolStripMenuItem.Click
 Dim comp As New Process
    comp.StartInfo.FileName = "C:\MinGW\bin\gcc.exe"
    comp.StartInfo.Arguments = tabc.SelectedTab.Text 
    comp.StartInfo.RedirectStandardOutput = True
    comp.StartInfo.UseShellExecute = False
    comp.Start()
    Dim msg As String = comp.StandardOutput.ReadToEnd
    MsgBox(msg)
    comp.WaitForExit()
    comp.Close()
End Sub

发送的参数是文件的绝对路径(tabc 是一个 TabControl,并且在 TabControl 中添加了几个 TabPage)。但是当我尝试编译时,会出现一个空白控制台窗口,指示进程已启动但文件未编译。我已经将环境变量中的“PATH”变量设置为 MinGW 的 bin 文件夹,但它仍然没有区别。当我尝试从 CMD 手动编译程序时,没有程序并且 gcc 可以正常工作。我的代码有问题吗?

4

0 回答 0