This is the worst thing you can do in a forum IMO..if you have solved the problem post the answer for future generations pal!!
I am also new to linux development and have the same problem:
my make file follows:
a.out : hello.o
@echo Building Hello World
g++ hello.o -L. -lABC
hello.o : hello.cpp test.c libABC.so
@echo Building Hello
g++ -c hello.cpp -I${COTS_ECLIPSE_BOOST_INCDIR_38} -I/vobs/online/egse_api/egse_api/src/
libABC.so : ABC.o BC.o test.o
@echo Building Library
gcc -shared -Wl,-soname,libABC.so -o libABC.so ABC.o test.o ./BC.o -lc
ABC.o : ABC.cpp
@echo Building ABC
gcc -fPIC -g -c -Wall ABC.cpp
BC.o : BC.cpp
@echo Building ABC
gcc -fPIC -g -c -Wall BC.cpp
test.o : test.c
@echo Building ABC
gcc -fPIC -g -c test.c -o test.o
I've simplified the problem to the same level as the last poster test.c defines one c function sum(int i, int s);
hello.cpp uses that function. you'll notice that that ABC and BC are also in the library the hello.cpp uses those with out error (that is if I remove the sum call I compile fine):
bash-3.2$ make
Building ABC
gcc -fPIC -g -c test.c -o test.o
Building Library
gcc -shared -Wl,-soname,libABC.so -o libABC.so ABC.o test.o ./BC.o -lc
Building Hello
g++ -c hello.cpp -I/usr/include/boost/boost_1_38_0 -I/vobs/online/egse_api/egse_api/src/
Building Hello World
g++ hello.o -L. -lABC /usr/include/boost/boost_1_38_0/stage/lib/libboost_regex-gcc41-mt-1_38.a
hello.o: In function `main':
hello.cpp
.text+0x9e): undefined reference to `sum(int, int)'
collect2: ld returned 1 exit status
make: *** [a.out] Error 1
Thanks