【发布时间】:2014-02-23 18:03:24
【问题描述】:
我一直在阅读 GCC 简介 - 用于 GNU 编译器 gcc 和 g++
有一些例子,你将 hello world 程序分成 3 个不同的文件(main.c、hello_fn.c、hello.h)。在这个例子中,它展示了 makefile 的使用。
CC=gcc
CFLAGS=-Wall
main: main.o hello_fn.o
clean:
rm -f main main.o hello_fn.o
他的意思是当你只更改一个文件时,例如 main.c,通过使用 make 你只需要编译你在创建一个新的可执行文件时更改的文件。
我成功地制作了一个可执行文件,但是当我在 main.c 中进行简单的更改以打印“大家好!”时而是“你好世界!”它抛出 Permission denied 错误。你也不能再运行那个可执行文件了,它说“访问被拒绝。”
现在有趣的是它会抛出错误大约 10 分钟左右,但大约 10 分钟后它编译成功!你可以在这里看到它:
C:\Users\Neven\Documents\C\GCC knjiga\New Hello>main
Hello, world!
C:\Users\Neven\Documents\C\GCC knjiga\New Hello>make
gcc -Wall -c -o main.o main.c
gcc main.o hello_fn.o -o main
c:/rtools/gcc-4.6.3/bin/../lib/gcc/i686-w64-mingw32/4.6.3/../../../../i686-w64-m
ingw32/bin/ld.exe: cannot open output file main.exe: Permission denied
collect2: ld returned 1 exit status
make: *** [main] Error 1
C:\Users\Neven\Documents\C\GCC knjiga\New Hello>main
Access is denied.
我的问题是,为什么有一段时间不能执行make?
【问题讨论】:
-
请不要张贴(链接到)文字图片;直接发布文本。
标签: c gcc compilation makefile