Linking multiple source files: Undefiled Reference to...
I have about 9 .o files, and make compiles quickly and quietly until it gets to the part where it links them all together... here are the errors and makefile. I won't post the code unless i need to, one of the source files is >500 lines long.
Code:
typescript.ts
-------------
(ethereal@linbox:~/c++/nemoserv)$ make clean ; make
rm -f *.o
g++ -ggdb -pthread -c nemoserv.cpp
g++ -ggdb -pthread -c nemoirc.cpp
g++ -ggdb -pthread -c logger.cpp
g++ -ggdb -pthread -c ircfunc.cpp
g++ -ggdb -pthread -c sockfunc.cpp
g++ -ggdb -pthread -c ircserver.cpp
g++ -ggdb -pthread -c blackjack.cpp
g++ -ggdb -pthread -c cards.cpp
g++ -ggdb -pthread nemoserv.o nemoirc.o logger.o ircfunc.o sockfunc.o ircserver.o cards.o blackjack.o -o nemoserv
blackjack.o: In function `blackjackgame::dealTo(char *, char *, ircserver, bool)':
/home/ethereal/c++/nemoserv/blackjack.cpp:45: undefined reference to `deck::deal(card &)'
/home/ethereal/c++/nemoserv/blackjack.cpp:47: undefined reference to `card::suitText(void)'
/home/ethereal/c++/nemoserv/blackjack.cpp:47: undefined reference to `card::rankText(void)'
/home/ethereal/c++/nemoserv/blackjack.cpp:48: undefined reference to `deck::deal(card &)'
/home/ethereal/c++/nemoserv/blackjack.cpp:50: undefined reference to `card::suitText(void)'
/home/ethereal/c++/nemoserv/blackjack.cpp:50: undefined reference to `card::rankText(void)'
collect2: ld returned 1 exit status
make: *** [nemoserv] Error 1
(ethereal@linbox:~/c++/nemoserv)$
-------------
Code:
makefile
--------
# Makefile for nemoserv.
CC = g++
CFLAGS = -ggdb -pthread
nemoserv : nemoserv.o nemoirc.o logger.o ircfunc.o sockfunc.o ircserver.o blackjack.o cards.o
$(CC) $(CFLAGS) nemoserv.o nemoirc.o logger.o ircfunc.o sockfunc.o cards.o blackjack.o ircserver.o -o nemoserv
nemoserv.o : nemoserv.cpp sockfunc.h ircfunc.h nemoirc.h logger.h ircserver.h
$(CC) $(CFLAGS) -c nemoserv.cpp
nemoirc.o : nemoirc.cpp sockfunc.h ircfunc.h nemoirc.h logger.h ircserver.h
$(CC) $(CFLAGS) -c nemoirc.cpp
ircserver.o : ircserver.cpp sockfunc.h ircfunc.h nemoirc.h logger.h ircserver.h
$(CC) $(CFLAGS) -c ircserver.cpp
logger.o : logger.cpp logger.h
$(CC) $(CFLAGS) -c logger.cpp
ircfunc.o : ircfunc.cpp ircfunc.h
$(CC) $(CFLAGS) -c ircfunc.cpp
sockfunc.o : sockfunc.cpp sockfunc.h
$(CC) $(CFLAGS) -c sockfunc.cpp
blackjack.o : blackjack.cpp cards.cpp blackjack.h cards.hpp
$(CC) $(CFLAGS) -c blackjack.cpp
cards.o : cards.cpp cards.hpp
$(CC) $(CFLAGS) -c cards.cpp
clean :
rm -f *.o
--------