我已经阅读了很多关于这个问题的帖子,但是我无法解决它。
我在Linux上运行,安装了Eclipse和CDT插件。 我有一个现有的C项目,位于/ home / luca / prova。 在这个文件夹中有一些源文件和一个makefile(称为makefile),我在下面报告:
CC = gcc
CFLAGS = -Wall -Werror -O2
HEADERS = lz78_compressor.h lz78_decompressor.h
SOURCES := $(wildcard *.c)
OBJ = $(SOURCES:.c=.o)
EXECUTABLE = lz78
.PHONY : clean install uninstall help
%.o : %.c $(HEADERS)
@$(CC) -c -o $@ $< $(CFLAGS)
$(EXECUTABLE) : $(OBJ)
$(CC) -o $@ $^ $(CFLAGS)
@echo "Build finished. Executable file created : $(EXECUTABLE)"
clean :
rm -f $(EXECUTABLE) $(OBJ)
install :
-@cp ./$(EXECUTABLE) /usr/bin
@echo "Tool installed"
uninstall :
-@rm /usr/bin/$(EXECUTABLE)
@echo "Tool uninstalled"
help :
@echo
@echo "Makefile"
@echo
@echo "make : build all"
@echo "install : install the tool in the system"
@echo "uninstall : remove the tool from the system"
@echo "clean : remove all .o files and the executable file"
@echo
如果我在shell中编译,它可以正常工作。但我想在Eclipse中导入它。 关注此维基,http://help.eclipse.org/neon/index.jsp?topic=%2Forg.eclipse.cdt.doc.user%2Fgetting_started%2Fcdt_w_import.htm 我创建了一个新的C项目,然后我修改了项目构建的设置。 在下一张图片中,有我设置的设置:
当我尝试构建项目时,我看到了错误
"make: *** no rule to make target 'all'
为什么呢?有人可以帮帮我吗?
由于
答案 0 :(得分:2)
您的 Makefile 中没有all
目标。
尝试将其添加为一行,以告知在完成make all
时要做什么:
all: $(EXECUTABLE)
您可以在Eclipse CDT中使用Make Target View添加额外的Make规则。