2015-03-02 220 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