繁体   English   中英

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

[英]How to compile C program on command line using 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文档中找不到任何信息,因为看起来这是一件非常简单的事情,有点令人尴尬的问题,它让人们知道是什么去做?

它表示找不到gcc.exe

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

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

echo %path%

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

gcc filename.c -o filename

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

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

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

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

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

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

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

我跑了这个:

gcc hello.c -o hello

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

_

我的.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)准备好使用并正常工作。 我认为gcc之后的-c很重要,因为它会使附加的目标文件成为我们需要的程序。 不使用-c ,gcc绑定在程序中找到main,当它找不到它时,它会给你这个错误。

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

第一:

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


编译:

.c: gcc filename.c -o欲望

.cpp: g ++ filename.cpp -o desire


跑:

欲望/ ./desire

像往常一样......只要确保你有它在你的路径和正确的Makefile

您可以输入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环境运行的工具也一样。

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

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

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

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

你的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"

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

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM