创建我自己的makefile [错误255]

时间:2012-04-10 09:57:57

标签: gcc makefile g++

我一直很享受使用IDE编写代码的奢侈品,我为我编写了makefile,我觉得我已经做了很长时间的“短切”,所以我读了一些手册并在makefile上观看了一些视频并且有一个makefile半成品,我遇到的唯一麻烦是我不确定如何链接库。

CPPS := $(shell ls src/*cpp)
TEMP := $(subst src/,obj/,$(CPPS))
OBJS := $(subst .cpp,.o,$(TEMP))
HEADERS := $(shell ls inc/*.h)
EXEC := bin/testfile

all: $(EXEC)

$(EXEC) : $(OBJS) $(HEADERS)
g++ -I inc/ $(OBJS) -o $(EXEC) -lSDL -lGLU
$(EXEC)

obj/%.o: src/%.cpp
g++ -Wall -I inc/ -c $< -o $@

ps:当我说“图书馆标志”我的意思是-lSDL -lGLU等等时,我说错了。

无论我把它们放在哪里,它们似乎都不起作用。

这是我插入lib标志时得到的错误, make: *** [bin/testfile] Error 255

  

错误255是由make生成的,因为它的命令shell无法找到特定规则的命令。

如果我不包含它们,我会收到标准的“未定义”消息。

对此有任何帮助将不胜感激!谢谢

1 个答案:

答案 0 :(得分:1)

看起来你在构建它之后尝试运行它?

在这种情况下,问题是你没有PATH上的当前目录;所以make找不到$(EXEC)

您可能只需要./$(EXEC)直接运行它。

您应该将程序执行到另一个(PHONY)目标,以便您可以自己执行构建步骤,并在不需要构建$(EXEC)时运行

(我假设缺少制表符只是stackoverflow格式化,否则make会抱怨。)