【发布时间】:2015-05-03 01:58:53
【问题描述】:
我正在 Windows 上试用 MinGW。我已经能够使用 GCC 从 C 源文件创建可执行文件。
main.c 是这样的:
#include <stdio.h>
int main()
{
int this_is_a_number;
printf("Please enter a number: ");
scanf("%d", &this_is_a_number);
printf("You entered: %d", this_is_a_number);
getchar();
return 0;
}
makefile 有这个:
cProj: main.c
gcc -o cProj main.c
当我从 powershell 运行 make 时,我得到了这个:
PS C:\Projects\cProj> make
Target 'cProj' is up to date
PS C:\Projects\cProj>
但是,我运行make后,目录中没有可执行文件。
PS C:\Projects\cProj> ls
Directory: C:\Projects\cProj
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 4/7/2015 10:33 PM 207 main.c
-a--- 5/2/2015 8:35 PM 35 makefile
如您所见,makefile 没有错误。至少我看不到。 gcc 编译器确实使用传递给它的参数。当我运行gcc -o cProj main.c 时,它会创建一个没有任何问题的可执行文件。
我知道我拥有的 makefile 非常明确,对于实际项目来说并不是一个好的 makefile。我只是想让 make 在我的 Windows 机器上工作。
我做错了什么?
我(来自 MinGW)的 make 版本是 Digital Mars Make 5.06 版。
GCC 是 4.8.1 版。
感谢您的帮助。
【问题讨论】:
-
我希望 MinGW 安装具有 GNU make,而不是数字火星的 make 形式(不是我有任何理由认为这对您遇到的任何问题负责)。
-
可能就是这样....当我运行 mingw32-make.exe 时它可以工作!
-
我想知道 Digital Mars Make 是否在那里,因为我前段时间下载了 D。
-
我相信你是对的,你得到了带 D 的 Digital Mars
make- 我想知道为什么它不像 GNU make 那样处理简单的 makefile,因为似乎没有对makefile有什么不寻常的地方。