如何使用MinGW在命令行上编译C程序?

时间:2012-05-19 01:48:17

标签: c windows gcc command-line mingw

在Windows 7的命令行中输入什么命令来编译基本的C程序?

就像我真的想知道你在命令提示符下键入什么,编译一个.c文件。

我试过了:

> gcc foo.c

但它说:

'gcc' is not recognized as an internal or external command, 
 operable program or batch file.

我也尝试过:

> minGW foo.c

但我回来了:

 'minGW' is not recognized as an internal or external command, 
  operable program or batch file.

我有一个路径环境变量设置为MinGW的安装位置:

C:\Program Files (x86)\CodeBlocks\MinGW\bin

我无法找到关于我哪里出错的任何信息,并且在官方的MinGW文档中找不到任何信息,因为看起来这是一件非常简单的事情,有点令人尴尬的问题。人们知道该怎么办?

14 个答案:

答案 0 :(得分:17)

表示无法找到gcc.exe

  

我有一个路径环境变量设置为MinGW的安装位置

也许您没有正确设置路径?

echo %path%

显示gcc.exe的路径?否则,编译类似于Unix:

gcc filename.c -o filename

答案 1 :(得分:8)

我遇到了这个问题,无法找到原因。原因很简单:一旦设置了环境路径,就必须关闭CMD窗口,然后再次打开它,以便了解新的环境路径。

答案 2 :(得分:2)

只需将环境变量设置为gcc.exe的EXACT路径,如下所示:

C:\Program Files (x86)\CodeBlocks\MinGW\bin\gcc.exe

答案 3 :(得分:1)

将MinGW档案解压缩到C:\MinGW并将环境变量的路径设置为C:\MinGW\bin;后,我遇到了同样的错误消息。

当我尝试编译时,我收到此错误!

  

gcc:错误:CreateProcess:没有这样的文件或目录

我终于发现有些已下载的档案已被删除,同时将其展开到C:\MinGW(但我最初忽略了这一点)。 一旦我删除了损坏的文件并再次从SourceForge重新下载了整个存档,将它们解压缩到C:\ MinGW,错误消失了,编译器工作正常并输出我想要的hello.exe

我跑了这个:

gcc hello.c -o hello

结果结果是这个(闪烁的下划线):

_

答案 4 :(得分:1)

我的.c文件包含函数(不是我程序的main())也有同样的问题。例如,我的头文件是“fact.h”和“fact.c”,我的主程序是“main.c”所以我的命令是这样的:

E:\proj> gcc -c fact.c

现在我有一个fact.c的对象文件(fact.o)。之后:

E:\proj>gcc -o prog.exe fact.o main.c

然后我的程序(prog.exe)准备好使用并正常工作。我认为-c之后的gcc很重要,因为它会使附加的目标文件成为我们需要的程序。如果不使用-c,gcc会在程序中找到main,当它找不到它时,它会给你这个错误。

答案 5 :(得分:1)

您可以永久包含MinGW文件的目录,方法是单击“我的电脑”,“属性”,“高级系统设置”,“环境变量”,然后编辑并粘贴目录。

答案 6 :(得分:1)

第一

在系统变量=>路径中添加您的minGW的bin文件夹目录(例如: C \ mingw64 \ bin )。 visual example


编译:

.c: gcc文件名。c-o欲望

.cpp: g ++ filename.cpp -o欲望


运行:

desire / or ./desire

答案 7 :(得分:0)

像往常一样

制作 ...只需确保你的路径中有它并更正 Makefile

答案 8 :(得分:0)

您可以输入msys shell,而不是设置%PATH%。在标准的msys和mingw安装中,gcc位于路径中,因此您可以运行gccwhich gcc

我的Windows 7上有一个批处理文件sh.bat,%PATH%:

C:\lang\msys\bin\sh.exe --login %*

每当我想使用gcc时,我输入cmd,然后输入sh,然后输入gcc。我觉得很方便。

使用Linux发起的软件时,请避免使用Program Files之类的间隔目录。将它们安装到Program_Files。您可能希望从msys环境运行的工具也是如此。

答案 9 :(得分:0)

如果您将文本粘贴到路径变量并在分号前添加了空格,则应删除该文本并在目录末尾添加反斜杠(; C:\ Program Files(x86)\ CodeBlocks \ MinGW \ bin

答案 10 :(得分:0)

我曾经遇到过安装MinGW在Windows中工作的问题,即使我在环境变量中添加了正确的系统路径。

经过几天的痛苦,我终于偶然发现了一个线程,建议卸载原来的MinGW编译器并删除C:\MinGW文件夹并安装可以找到here的TDM-GCC MinGW编译器。

您可以从下载页面中选择64/32位安装程序,并为您创建环境路径变量。

答案 11 :(得分:0)

您的gcc在哪里?

我的gcc位于" C:\ Program Files \ CodeBlocks \ MinGW \ bin \"。

"C:\Program Files\CodeBlocks\MinGW\bin\gcc" -c "foo.c"
"C:\Program Files\CodeBlocks\MinGW\bin\gcc" "foo.o" -o "foo 01.exe"

答案 12 :(得分:0)

我很晚才回答这个问题(确切地说是5年),但我希望这有助于某人。

我怀疑这个错误是因为环境变量而不是GCC。设置新环境变量时,需要打开一个新的命令提示符!这是90%的时间问题(当我第一次下载GCC时,我被困3小时!)如果不是这样,你可能没有正确设置环境变量或者你在一个文件夹中名字中的空格。

一旦你有GCC工作,每次编译和删除都会很麻烦。如果你不想安装一个完整的ide并且已经安装了python,请尝试这个github项目:https://github.com/sophiadm/notepad-is-effort 它是一个用python中的tkinter编写的小IDE。您只需复制源代码并将其另存为.py文件

即可

答案 13 :(得分:0)

在Windows 10中,在其他版本的Windows中可以遵循类似的步骤。

右键单击“我的电脑”,选择属性,转到高级系统设置 - >高级 - >选择“环境变量..”。

查找“路径”选择它并选择编辑选项 - >单击New并添加“C:\ MinGW \ bin”(或gcc.exe的位置,如果已安装在其他位置) - >保存并重启命令提示符。 Gcc应该可以工作。