2016-03-06 125 views
0

我試圖從命令行編譯C++程序,但是我不能。我嘗試了所有步驟和說明listed here在Windows 8上使用MinGW在cmd中編譯C++

我安裝了MinGW,但是我在安裝的最後一步遇到問題,它解釋瞭如何更改環境路徑。在環境變量中沒有PATH部分,當我嘗試添加它或甚至編輯系統變量中的一個時,編譯不起作用(當我在命令提示符下鍵入g ++時,什麼也沒有出現)。

我在網上搜索瞭解決方案,但是我一直沒能找到任何東西。

重新安裝MinGW32解決了無法編譯C++的問題。

在PATH變量中添加;C:\mingw\bin,在我的電腦中的屬性中的高級設置下,在cmd中修復編譯,如@Chrono Kitsune回答的那樣。

+1

等等。在命令提示符下輸入g ++時什麼都沒有出現?沒有錯誤信息或其他東西? –

+2

是否在添加PATH變量後打開了新的命令提示符?直到你開始一個新的過程,環境變量的改變纔會生效。 – PeterT

+1

考慮安裝[mingw-w64](http://mingw-w64.org),它會被主動維護並且安裝會創建一個批處理文件來爲您設置路徑。當然,你也可以安裝一個像MSYS2這樣的類Unix的shell,如果你打算在構建這樣的環境下構建帶有makefile的腳本或者構建腳本,這將有所幫助。 –

回答

-2

我更喜歡使用Linux操作系統來編譯C/C++程序。我使用VirtualBox來託管一臺Ubuntu機器,它工作得很好。

如果您選擇要編譯的路徑,請使用'cd'命令導航到該目錄,然後鍵入'make'進行編譯並執行./yourprogram

+0

在Linux虛擬機中使用g ++編譯Windows程序需要大量的工作機器(可以通過交叉編譯,但不平凡) –

0

它看起來像任一路徑變量從註冊表編輯器移除或它已成長爲超過2048 大小要找出

  1. 打開cmd窗口和類型的路徑,如果它打印路徑。 類似於: C:\ Users \ robin> PATH
    PATH = C:\ ProgramData \ Oracle \ Java \ javapath; ............
    然後,它很可能已經發展到更多比2048年,這就是爲什麼它不可見。 你可以通過這個命令在命令行更新PATH變量:
    設置PATH =%PATH%; C:\ cygwin64 \ BIN
    因此,這將追加路徑爲 「C:\ cygwin64 \ BIN」

  2. 如果這不起作用。然後檢查註冊表是否存在: HKLM \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ Environment
    HKCU \ Environment
    如果沒有,從另一臺PC導出它們然後導入。

+0

我試過了,它說系統找不到指定的文件.... 你是指從另一臺PC導出它們是什麼意思? – maltkat

+0

打開另一臺PC的註冊表並導出它。將該文件複製到你當前的PC並導入到註冊表中。 –

+0

編輯註冊表以解決​​此問題可能需要註銷並重新登錄才能使設置生效。 –

0
  1. 贏+ R打開運行對話框,然後鍵入

    sysdm.cpl ,3 
    
  2. 單擊 「環境變量」 按鈕。
  3. 有兩個部分:「用戶變量」(頂部)和「系統變量」(底部)。你想看看最上面的部分。
  4. 如果您沒有PATH變量,請單擊「新建」按鈕併爲變量名稱鍵入PATH。否則,只需雙擊現有的PATH變量。
  5. 現在添加以下的變量的值的末尾:

    ;C:\mingw\bin 
    

    其中C:\mingw\bin是含有g++.exe的文件夾。

  6. 單擊每個對話框上的確定關閉它。
  7. 打開一個新的命令提示符並嘗試執行

    g++.exe -xc -E nul 
    

    如果仍然出現錯誤,請嘗試註銷並重新登錄。

+0

我參加了計算機屬性高級選項,但當我添加了你建議的行(不是在mingw站點上的行)時,它工作,我沒有得到錯誤。 非常感謝! – maltkat

相關問題