C 生成文件错误:意外的行尾
我读过类似的问题,但找不到解决问题的方法。下面是有问题的makefile:C 生成文件错误:意外的行尾,c,makefile,C,Makefile,我读过类似的问题,但找不到解决问题的方法。下面是有问题的makefile: EXE = proj05 SOURCES = proj05.support.c proj05.driver.c OBJECTS := $(SOURCES:%.c=%.o) CCFLAGS = -Wall $(EXE): $(OBJECTS) <tab>$(CC) $^ -o $@ o clean: <tab>$(RM) $(EXE) $(OBJECTS) EXE=proj05 SOURCES=
EXE = proj05
SOURCES = proj05.support.c proj05.driver.c
OBJECTS := $(SOURCES:%.c=%.o)
CCFLAGS = -Wall
$(EXE): $(OBJECTS)
<tab>$(CC) $^ -o $@ o
clean:
<tab>$(RM) $(EXE) $(OBJECTS)
EXE=proj05
SOURCES=proj05.support.c proj05.driver.c
对象:=$(源:%.c=%.o)
CCFLAGS=-Wall
$(EXE):$(对象)
$(CC)$^-o$@o
清洁:
$(RM)$(EXE)$(对象)
当我尝试运行make时,我得到一个错误,第4行显示“意外看到行尾”。发生什么事了
编辑:我更改了疯狂的重复内容,但仍然得到相同的错误。第一个命令中的一美元是怎么回事
<tab>$(CC) >>$<< $(CC) ...
$(CC)>$第一个命令上的一美元是怎么回事
<tab>$(CC) >>$<< $(CC) ...
$(CC)>$第一个命令上的一美元是怎么回事
<tab>$(CC) >>$<< $(CC) ...
$(CC)>$第一个命令上的一美元是怎么回事
<tab>$(CC) >>$<< $(CC) ...
$(CC)>$第4行有点误导,但这是使语法分析器的$(EXE)
规则的行
在决定不能再继续之前,我已经到了。正如@jia103所暗示的那样
到,在$(EXE)规则中有一个虚假的$
。您还拥有出现的内容
编译器标志语法不正确-不应该有任何空格
在-
和o
之间形成输出参数-o$@
我可以推荐以下规则而不是$(EXE)
和clean
规则吗
你有吗
%.o: %.c
<tab>$(CC) $(CFLAGS) -o $@ $<
$(EXE): $(OBJECTS)
<tab>$(CC) $(CFLAGS) -o $@ $(OBJECTS)
clean:
<tab>$(RM) $(EXE) $(OBJECTS)
%.o:%.c
$(CC)$(CFLAGS)-o$@$<
$(EXE):$(对象)
$(CC)$(CFLAGS)-o$@$(对象)
清洁:
$(RM)$(EXE)$(对象)
(记住更改为实际制表符…)
最后一件事——如果您使用的是Solaris和Sun Make,那么您的c编译器很有可能就是Solaris Studio。在这种情况下,-Wall
标志不起作用-这是一个gcc标志。发出cc-flags
以查看Studio C提供了哪些选项。第4行有点误导,但这正是构成语法分析器的$(EXE)
规则的第行
在决定不能再继续之前,我已经到了。正如@jia103所暗示的那样
到,在$(EXE)规则中有一个虚假的$
。您还拥有出现的内容
编译器标志语法不正确-不应该有任何空格
在-
和o
之间形成输出参数-o$@
我可以推荐以下规则而不是$(EXE)
和clean
规则吗
你有吗
%.o: %.c
<tab>$(CC) $(CFLAGS) -o $@ $<
$(EXE): $(OBJECTS)
<tab>$(CC) $(CFLAGS) -o $@ $(OBJECTS)
clean:
<tab>$(RM) $(EXE) $(OBJECTS)
%.o:%.c
$(CC)$(CFLAGS)-o$@$<
$(EXE):$(对象)
$(CC)$(CFLAGS)-o$@$(对象)
清洁:
$(RM)$(EXE)$(对象)
(记住更改为实际制表符…)
最后一件事——如果您使用的是Solaris和Sun Make,那么您的c编译器很有可能就是Solaris Studio。在这种情况下,-Wall
标志不起作用-这是一个gcc标志。发出cc-flags
以查看Studio C提供了哪些选项。第4行有点误导,但这正是构成语法分析器的$(EXE)
规则的第行
在决定不能再继续之前,我已经到了。正如@jia103所暗示的那样
到,在$(EXE)规则中有一个虚假的$
。您还拥有出现的内容
编译器标志语法不正确-不应该有任何空格
在-
和o
之间形成输出参数-o$@
我可以推荐以下规则而不是$(EXE)
和clean
规则吗
你有吗
%.o: %.c
<tab>$(CC) $(CFLAGS) -o $@ $<
$(EXE): $(OBJECTS)
<tab>$(CC) $(CFLAGS) -o $@ $(OBJECTS)
clean:
<tab>$(RM) $(EXE) $(OBJECTS)
%.o:%.c
$(CC)$(CFLAGS)-o$@$<
$(EXE):$(对象)
$(CC)$(CFLAGS)-o$@$(对象)
清洁:
$(RM)$(EXE)$(对象)
(记住更改为实际制表符…)
最后一件事——如果您使用的是Solaris和Sun Make,那么您的c编译器很有可能就是Solaris Studio。在这种情况下,-Wall
标志不起作用-这是一个gcc标志。发出cc-flags
以查看Studio C提供了哪些选项。第4行有点误导,但这正是构成语法分析器的$(EXE)
规则的第行
在决定不能再继续之前,我已经到了。正如@jia103所暗示的那样
到,在$(EXE)规则中有一个虚假的$
。您还拥有出现的内容
编译器标志语法不正确-不应该有任何空格
在-
和o
之间形成输出参数-o$@
我可以推荐以下规则而不是$(EXE)
和clean
规则吗
你有吗
%.o: %.c
<tab>$(CC) $(CFLAGS) -o $@ $<
$(EXE): $(OBJECTS)
<tab>$(CC) $(CFLAGS) -o $@ $(OBJECTS)
clean:
<tab>$(RM) $(EXE) $(OBJECTS)
%.o:%.c
$(CC)$(CFLAGS)-o$@$<
$(EXE):$(对象)
$(CC)$(CFLAGS)-o$@$(对象)
清洁:
$(RM)$(EXE)$(对象)
(记住更改为实际制表符…)
最后一件事——如果您使用的是Solaris和Sun Make,那么您的c编译器很有可能就是Solaris Studio。在这种情况下,-Wall
标志不起作用-这是一个gcc标志。发出cc-flags
以查看Studio C提供了哪些选项。不同部分之间不需要空白行吗?James的代码段有%.o:
目标,后跟一个空行,后跟$(EXE):
目标,后跟一个空行,后跟清除:
目标
现在我再想一想,我认为空白行不是可选的。< /P>
在代码段中,尝试在以
开头的代码和以clean:
开头的代码之间放置一个空行。在不同的部分之间不需要空行吗?James的代码段有%.o:
目标,后跟一个空行,后跟$(EXE):
目标,后跟一个空行,后跟清除:
目标
现在我再想一想,我认为空白行不是可选的。< /P>
在代码段中,尝试在以
开头的代码和以c开头的代码之间放置一个空行