我正在使用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
发送的Argument是文件的绝对路径(tabc是一个TabControl,并且TabControl中添加了几个TabPages)。但是当我尝试编译时,会出现一个空白控制台窗口,指示进程已启动但文件无法编译。我已将环境变量中的“PATH”变量设置为MinGW的bin文件夹,但它仍然没有区别。当我尝试从CMD手动编译程序时,没有程序和gcc正常工作。我的代码有什么问题吗?