2015-03-02 32 views
1

我是C編程新手。我下載了Code::Blocks試試。我已經安裝了gcc編譯器,因此這就是設置使用的代碼塊。我寫了一個簡單的程序並編譯並運行它。它運行得很好,當我從代碼:: Blocks的衝了進去,但,當我試圖雙擊.exe它說Codeblocks編譯和運行的作品,但點擊exe不

"The program can't start because libgcc_s_dw2-1.dll is missing from your 
computer. Try reinstalling the program to fix this problem." 

爲什麼它的工作原理,當我在代碼:: Blocks的運行它,而不是當我點擊文件?

順便說一下,這裏是我的#include s。

#include <stdio.h> 
#include <stdlib.h> 
#include <conio.h> 
+2

包含在運行時並不重要。問題是Code :: Blocks正在設置一些環境信息,告訴程序(更準確地說,運行時支持系統)在哪裏可以找到GCC庫,但是當你點擊'.exe'時,那個信息就是不可用,因此無法運行。 – 2015-03-02 18:05:40

+0

@JonathanLeffler那麼這是否意味着需要在運行該程序的每臺計算機上安裝gcc? – AdamMasters 2015-03-02 18:14:01

+2

如果您不在其他機器上編譯代碼,那麼您不需要完整的GCC安裝,但您需要GCC運行時支持庫,就像您需要Microsoft運行時支持庫來運行大多數編譯的程序一樣與MSVC。當然,MS庫已經安裝,因爲MS程序也需要它。相比之下,GCC庫不一定在那裏,因爲MS程序不需要它。 – 2015-03-02 18:17:30

回答

0

您是否嘗試過從終端運行程序?如果沒有,那就這樣做,因爲那樣你就不會有編譯器找不到的問題。

在終端呼叫你的home目錄進行編譯:

gcc yourprogram.c -o yourprogram.exe 

./yourprogram.exe arg1 arg2 

第二個是運行; arg1和arg2是你傳遞給程序的命令行參數。 (這適用於Mac和Linux,我在Windows終端上有0次體驗)

無論如何,如果你真的想學習如何編程,那麼你應該學會如何使用終端;那麼你再也不用擔心GUI問題了,這就是你現在正在做的事情。

+3

問題不在於運行編譯器,而是運行生成的exe文件。由於'libgcc_s_dw2-1.dll'文件存在於Code :: Blocks文件夾中,因此當雙擊(或從cmd行運行)時,其exe文件不會加載它。喬納森的回答(評論)是正確的。 – enhzflep 2015-03-02 18:23:11

+1

好的,sry,我誤解了這個問題,我想通過說「我已經安裝了gcc編譯器」編譯器,並且所有相關的東西都正確安裝了...... – hallole 2015-03-02 18:28:09

+0

沒有問題,也不需要道歉。我們都在這裏試圖幫助或得到一些當我們需要它。 :) – enhzflep 2015-03-02 19:10:59