On Sat, 2007-12-01 at 07:09 -0600, Tom Browder wrote: > On Dec 1, 2007 6:42 AM, Michael Sullivan <michael@xxxxxxxxxxxxxxxx> wrote: > ... > > > LIBS=`sdl-config --cflags --libs` -lSDL_image -lSDL_gfx -lSDL_ttf > > Show the output from make initially so I can see the results of the LIBS line. > > What is the 'reset' for in your make commands? It clears the terminal and the terminal buffer so that I can see only the current error output. > > A more conventional way to structure the makefile for your situation is: > > CXX=g++ > INC = -I/usr/include/SDL > > all: battle > > battle: battle.o character.o > <tab>$(CXX) -o $@ battle.o character.o $(LIBS) > > %.o : %.cpp > <tab>$(CXX) $(CFLAGS) $< -o $@ $(INC) > > > That way 'all' is the default target and you can just command 'make'. > > Now, again, I suspect the location of the libraries is part of the > problem. Is the library set publicly available (and free)? > > > Is it normal for only portions of make all to run at a time? > > Yes, if it detects a target needing remaking. > > -Tom > > Tom Browder > Niceville, Florida > USA Here's my Makefile now: LIBS=`sdl-config --cflags --libs` -lSDL_image -lSDL_gfx -lSDL_ttf INC = -I/usr/include/SDL all: battle battle: battle.o character.o $(CXX) -o $@ battle.o character.o $(LIBS) %.o : %.cpp $(CXX) $(CFLAGS) $< -o $@ $(INC) And here's the result of 'make': michael@camille ourrpg $ make g++ -W -Wall -pedantic battle.cpp -o battle.o -I/usr/include/SDL battle.cpp: In member function 'SDL_Surface* battle::drawString(int, int, char*)': battle.cpp:72: warning: missing initializer for member 'SDL_Color::unused' /tmp/ccETTf7v.o: In function `battle::loadImage(int, char*)': battle.cpp:(.text+0x11): undefined reference to `IMG_Load' battle.cpp:(.text+0x2d): undefined reference to `SDL_GetError' battle.cpp:(.text+0x71): undefined reference to `SDL_MapRGB' battle.cpp:(.text+0x9d): undefined reference to `SDL_SetColorKey' /tmp/ccETTf7v.o: In function `battle::drawLines()': battle.cpp:(.text+0x18d): undefined reference to `hlineColor' battle.cpp:(.text+0x1bf): undefined reference to `vlineColor' battle.cpp:(.text+0x1f1): undefined reference to `hlineColor' battle.cpp:(.text+0x223): undefined reference to `vlineColor' battle.cpp:(.text+0x255): undefined reference to `hlineColor' battle.cpp:(.text+0x287): undefined reference to `hlineColor' battle.cpp:(.text+0x2b9): undefined reference to `hlineColor' battle.cpp:(.text+0x2eb): undefined reference to `hlineColor' battle.cpp:(.text+0x31d): undefined reference to `vlineColor' battle.cpp:(.text+0x34f): undefined reference to `SDL_UpdateRect' /tmp/ccETTf7v.o: In function `battle::drawString(int, int, char*)': battle.cpp:(.text+0x387): undefined reference to `TTF_RenderText_Solid' battle.cpp:(.text+0x395): undefined reference to `SDL_GetError' battle.cpp:(.text+0x420): undefined reference to `SDL_UpperBlit' /tmp/ccETTf7v.o: In function `battle::drawScreen()': battle.cpp:(.text+0x704): undefined reference to `SDL_UpperBlit' battle.cpp:(.text+0x73c): undefined reference to `SDL_Flip' /tmp/ccETTf7v.o: In function `battle::~battle()': battle.cpp:(.text+0x760): undefined reference to `SDL_FreeSurface' battle.cpp:(.text+0x778): undefined reference to `TTF_CloseFont' battle.cpp:(.text+0x793): undefined reference to `SDL_FreeSurface' battle.cpp:(.text+0x7a5): undefined reference to `SDL_FreeSurface' /tmp/ccETTf7v.o: In function `battle::~battle()': battle.cpp:(.text+0x892): undefined reference to `SDL_FreeSurface' battle.cpp:(.text+0x8aa): undefined reference to `TTF_CloseFont' battle.cpp:(.text+0x8c5): undefined reference to `SDL_FreeSurface' battle.cpp:(.text+0x8d7): undefined reference to `SDL_FreeSurface' /tmp/ccETTf7v.o: In function `battle::battle()': battle.cpp:(.text+0x9e3): undefined reference to `Character::Character()' battle.cpp:(.text+0xa05): undefined reference to `SDL_Init' battle.cpp:(.text+0xaa9): undefined reference to `SDL_GetError' battle.cpp:(.text+0xac0): undefined reference to `SDL_Quit' battle.cpp:(.text+0xaca): undefined reference to `TTF_Init' battle.cpp:(.text+0xad9): undefined reference to `SDL_GetError' battle.cpp:(.text+0xb0f): undefined reference to `Character::Character(char*, long, long)' battle.cpp:(.text+0xb35): undefined reference to `Character::~Character()' battle.cpp:(.text+0xb5b): undefined reference to `Character::Character(char*, long, long)' battle.cpp:(.text+0xb83): undefined reference to `Character::~Character()' battle.cpp:(.text+0xba9): undefined reference to `Character::Character(char*, long, long)' battle.cpp:(.text+0xbd1): undefined reference to `Character::~Character()' battle.cpp:(.text+0xbf4): undefined reference to `Character::Character(char*, long, long)' battle.cpp:(.text+0xc16): undefined reference to `Character::~Character()' battle.cpp:(.text+0xc2a): undefined reference to `TTF_OpenFont' battle.cpp:(.text+0xc41): undefined reference to `SDL_GetError' battle.cpp:(.text+0xc65): undefined reference to `SDL_WM_SetCaption' battle.cpp:(.text+0xc89): undefined reference to `SDL_SetVideoMode' battle.cpp:(.text+0xc9e): undefined reference to `SDL_GetError' /tmp/ccETTf7v.o: In function `main': battle.cpp:(.text+0xe81): undefined reference to `SDL_Delay' /tmp/ccETTf7v.o: In function `battle::battle()': battle.cpp:(.text+0xf19): undefined reference to `Character::Character()' battle.cpp:(.text+0xf3b): undefined reference to `SDL_Init' battle.cpp:(.text+0xfdf): undefined reference to `SDL_GetError' battle.cpp:(.text+0xff6): undefined reference to `SDL_Quit' battle.cpp:(.text+0x1000): undefined reference to `TTF_Init' battle.cpp:(.text+0x100f): undefined reference to `SDL_GetError' battle.cpp:(.text+0x1045): undefined reference to `Character::Character(char*, long, long)' battle.cpp:(.text+0x106b): undefined reference to `Character::~Character()' battle.cpp:(.text+0x1091): undefined reference to `Character::Character(char*, long, long)' battle.cpp:(.text+0x10b9): undefined reference to `Character::~Character()' battle.cpp:(.text+0x10df): undefined reference to `Character::Character(char*, long, long)' battle.cpp:(.text+0x1107): undefined reference to `Character::~Character()' battle.cpp:(.text+0x112a): undefined reference to `Character::Character(char*, long, long)' battle.cpp:(.text+0x114c): undefined reference to `Character::~Character()' battle.cpp:(.text+0x1160): undefined reference to `TTF_OpenFont' battle.cpp:(.text+0x1177): undefined reference to `SDL_GetError' battle.cpp:(.text+0x119b): undefined reference to `SDL_WM_SetCaption' battle.cpp:(.text+0x11bf): undefined reference to `SDL_SetVideoMode' battle.cpp:(.text+0x11d4): undefined reference to `SDL_GetError' collect2: ld returned 1 exit status make: *** [battle.o] Error 1