2016-11-15 126 views
3

我想在bash上使用C#C++運行gcc,因此我可以爲它製作一個小IDE。我試圖用CMD運行gcc:bash gcc --version(--version僅僅是一個例子),但它顯示了錯誤:/usr/bin/gcc: /usr/bin/gcc: Can't run the file使用C#或C++在Windows 10上的Bash上運行GCC

所以我想我需要在C#C++特定的命令?或者我可以以某種方式直接在bash上運行gcc

+0

你沒有在你的標題或問題提C,那麼爲什麼C語言的標籤?畢竟,C,C#和C++都是*不同的語言。 –

+0

您可能需要在互聯網上搜索「MinGW Windows」。 'Mingw'是一個在Windows平臺上運行的GNU編譯器。 –

+0

@Thomas:我猜他想從用C#或C++編寫的開發環境編譯C代碼。如果這是真的,'c'標籤不屬於。 –

回答

8

你需要確保你已經安裝了Bash中的gcc才能從擊或調用它支持很多的一個視窗。

一個簡單的方法做,這是安裝build-essential僞包將在GCC/G ++和其他通常需要開發工具主機帶,庫等:

$ sudo apt-get install build-essential 

一旦你這樣做這一點,從內猛砸運行gcc --version,以確保它是可到達:

$ gcc --version 
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609 
Copyright (C) 2015 Free Software Foundation, Inc. 
This is free software; see the source for copying conditions. There is NO 
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 

現在你應該能夠從CMD/PowerShell中/ CreateProcess的/ Process.Create()/等調用gcc的:

C:\> bash -c "gcc --version" 
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609 
Copyright (C) 2015 Free Software Foundation, Inc. 
This is free software; see the source for copying conditions. There is NO 
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 

HTH

+0

我有類似的問題。我不想做的是因爲我已經有一個版本的gcc與min GW安裝,然後我想盡量減少安裝。但是,從你說的話來看,Beth必須擁有自己的GCC版本? – matttm

+1

儘管您可以從Linux實例中調用安裝在Windows中的gcc,但您可能希望在Linux中工作並構建Linux應用程序時調用真正的Linux gcc。如果是這樣,請通過apt安裝,以便更新。 –

1

我建議你的系統上安裝Cygwin

bash外殼是Cygwin

+1

本機Linux可執行文件應在Windows 10中運行,並且安裝了正確的支持。 –

+0

@MatsPetersson我可以在wsl bash中運行gcc,但是我不能像正常的Windows應用程序那樣運行gcc。所以我需要一種方式來啓動它在C#或C++像System.Diagnostics.Process.Start(「bash.exe」,「gcc --version」);在C#中。 – DevNoteHQ

+0

哪個'bash'確實「bash.exe」開始 - Windows版本還是WSL? –

相關問題