【问题标题】:C make file is really confusing meC make 文件真的让我很困惑
【发布时间】:2014-05-11 15:42:59
【问题描述】:

据我所知,我正在向一位非常熟练的家庭成员学习 C。

我在 Windows 7 上使用 MingW 并安装了全新的 Windows,但在使事情正常工作时遇到了一些困难。我已经制作了一个 make 文件,并且正在为程序员使用 Deitel C,并介绍了 C11,并在第三章中输入了书中的示例。我相当肯定我已经设法让那部分正确,而且我使用的 makefile 似乎是正确的,但它给了我一个我不明白的奇怪错误。

C -o ex01 -O3 -Wall -Werrors -static -pedantic-errors -g main.o
make: C: 找不到命令
make: * [ex01] 错误 127

这是我不断收到的确切错误,我不确定 makefile 是否有问题或设置有问题...

RM=RM
抄送=gcc
LINK=$CC
CFLAGS = -O3 -Wall -Werrors -static -pedantic-errors -g

全部:main.o ex01
干净:
(Tab)$(RM) -f main.o ex01.exe

main.o: main.c
(Tab)$(CC) -o main.o $(CFLAGS) -c main.c

ex01: main.o
(Tab)$(LINK) -o ex01 $(CFLAGS) main.o

这几乎正是我正在使用的 makefile,除了 (Tab) 代替了实际的选项卡。我希望这是足够的信息来获得一些帮助,我怀疑我的设置有问题,我不得不设置我的库和 gcc 位置的路径。我只是不确定在哪里设置可以纠正此错误的路径。

【问题讨论】:

  • LINK=$CC 应该是LINK=$(CC)

标签: command-line compilation gcc


【解决方案1】:

@Keltar 的评论一针见血:LINK=$CC 应该是 LINK=$(CC)

make 的语法中,$() 是尊重变量的正确方法。 LINK=$(CC) 行表示将变量 LINK 设置为 CC 变量设置的任何值。在该指令之后,它们的值将相同。

【讨论】:

  • 是的,我修复了它并且编译正确,感谢您的帮助。很高兴知道这不是更复杂的事情(再次)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多