1
# Compiler to use
CC = g++
# flags to pass compiler
CFLAGS = -ggdb3 -O0 -std=c99 -Wall -Werror
# Name for the executable
EXE = test
# space-separated list of header files
HDRS = simplegui.h globals.h timer.h tile.h gamesprites.h
# space-separated list of libraries, if any,
# each of which should be prefixed with -l
LIBS = -lSDLmain -lSDL -lSDL_image -lSDL_mixer -lSDL_ttf
# space-separated list of source files
SRCS = main.cpp gamesprites.cpp simplegui.cpp tile.cpp timer.cpp
# automatically generated list of object files
OBJS = $(SRCS:.cpp=.o)
# default target
$(EXE): $(OBJS) $(HDRS) Makefile
$(CC) -IC:\SDL-1.2.15\include -LC:\SDL-1.2.15\lib $(CFLAGS) -o [email protected] $(OBJS) $(LIBS)
# dependencies
$(OBJS): $(HDRS) Makefile
它不能与makefile一起使用。我的另一种方法是:如何编译g ++多个文件(它不适用于我)
g++ -IC:\SDL-1.2.15\include -o test main.cpp -LC:\SDL-1.2.15\lib -lSDLmain -lSDL -lSDL_image -lSDL_ttf -lSDL_mixer
它的工作开始,我不知道我变了,没有它是不行的,它不断地说,它并没有找到该目录。以前它确实找到了目录,但是向我大吼大叫依赖关系。我很沮丧找不到答案。如何编译一个包含许多.h .cpp文件的程序,并且在其他目录中包含.h文件?这两种方法我发现,工作......(不过,我可以用我的IDE被配置编译代码,但我不记得了,我很快就会格式化我的电脑
编辑:
编辑:更改\为/,现在我有这样的:
++命令你的摹给了看似合理,乍看之下。你能澄清你遇到的一些问题吗? “它一直告诉我,它没有找到目录” - 它找不到哪个目录?你有没有检查目录是否存在? –
是的,该目录存在。这就是我在IDE中配置编译器和链接器的方式。但我需要知道如何从命令行或使用makefile进行编译。它一直告诉我它没有找到“SDL/SDL.h”。但是,在我的电脑C:\ SDL-1.2.15 \ include中包含SDL文件夹,其中SDL.h与链接器目录相同。当我可以“编译”时,它只是因为依赖而对我大喊大叫(我没有使用所有的源代码)。然而,即使添加了所有它一直抛出的错误(现在它甚至不能用g ++)。我也有头没有cpps – dpalma
我认为它不喜欢'$(EXE):$(OBJS)$(HDRS)Makefile',因为$(HDRS)是'simplegui.h globals.h timer.h tile .h gamesprites.h',但它们不存在于当前目录中。但没有实际的错误信息,我只是猜测。 –