C make文件让我很困惑

时间:2014-05-11 15:42:59

标签: command-line compilation gcc

据我所知,我正在从一位非常擅长的家庭成员那里学习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
  CC = GCC
  LINK = $ CC
  CFLAGS = -O3 -Wall -Werrors -static -pedantic-errors -g
  
  all: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位置的路径。我只是不确定在哪里设置一条可以纠正这个错误的路径。

1 个答案:

答案 0 :(得分:0)

@ Keltar的评论确切地说明了这一点:LINK=$CC应为LINK=$(CC)

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