2014-03-06 117 views
2

我無法獲得Code Blocks IDE來編譯您在創建新C項目時創建的hello world C程序。我已經安裝了MinGW,它已被IDE識別。但是,當我嘗試建立我得到以下輸出:C Hello world:代碼塊IDE,Windows上的MinGW C編譯器

-------------- Build: Debug in TestC3 (compiler: GNU GCC Compiler)--------------- 

mingw32-gcc.exe -Wall -g -c 
C:\Users\jody\codeblocks\testc3\TestC3\main.c -o obj\Debug\main.o 
mingw32-g++.exe -o bin\Debug\TestC3.exe obj\Debug\main.o Execution 
of 'mingw32-g++.exe -o bin\Debug\TestC3.exe obj\Debug\main.o' in 
'C:\Users\jody\codeblocks\testc3\TestC3' failed. 

爲什麼試圖運行mingw32-g++.exe以及mingw32-gcc.exe? (如果它不應該是這樣,我怎麼可以配置它不?)

回答

13

mingw32-gcc.exe步驟是編譯步驟。 mingw32-g++.exe是鏈接步驟。這 是正確的序列,將工作,如果你mingw32安裝是「正常」的,正確的 - 在「正常」是指 您已經安裝了C++作爲以及C的工具。

鏈接步驟失敗,因爲mingw32-g++.exe無法執行,很可能是因爲 它不存在於您的PATH。嘗試在命令提示符下運行mingw32-g++.exe以進行檢查。 查看mingw32-gcc.exe所在的目錄,看看是否有mingw32-g++.exe也在那裏。

如果您的mingw32安裝已得到了破不知何故,我建議你卸載並重新安裝。

如果你有故意安裝只有C的工具,然後將解釋你是什麼 見狀,並且很容易固定:

兩個mingw32-gcc.exemingw32-g++.exe只是工具的驅動程序。當調用 並帶有.c文件的編譯選項時,mingw32-gcc.exe將調用C編譯器。當調用 並帶有.cpp|cxx|...文件的編譯選項時,mingw32-g++.exe將調用C++編譯器。如果 其中任何一個被調用鏈接選項,那麼它調用鏈接器。

代碼塊默認配置了mingw32-g++.exe調用鏈接,因爲它將對C項目,C++項目和C/C++項目做同樣 很好,它假定你有充分的C/C++工具鏈。

如果您還沒有安裝C++工具並且只想構建C,那麼您可以使用mingw32-gcc.exe 來調用C編譯器和鏈接器。要在代碼塊IDE配置此:

  • 導航設置 - >編譯
  • 確保選擇編譯GNU GCC
  • Tab鍵工具鏈的可執行文件
  • 變化鏈接對於動態庫mingw32-g++.exemingw32-gcc.exe
  • OK了設置和重建項目。