PDA

View Full Version : Library Build Problems




cpsmusic
Sep 2, 2009, 07:27 AM
Hi,

I'm trying to build a library (libtao - see http://taopm.sourceforge.net/ for more info). The library is part of a larger project that includes some shell scripts and helper applications. Basically it works as follows - a Tao script file is parsed to a C++ file that is then linked with libtao and run.

I'm currently trying to build just the library part of the project (libtao). The library is fairly straightforward and the only external libs it uses are OpenGL/GLUT.

I've put together a simple makefile as follows:



libtao: Tao.o TaoAccessPoint.o TaoBow.o TaoCell.o TaoCircle.o TaoConnector.o \
TaoDevice.o TaoEllipse.o TaoGraphicsEngine.o TaoHammer.o TaoInstrument.o \
TaoOutput.o TaoPitch.o TaoRectangle.o TaoStop.o TaoString.o \
TaoSynthEngine.o TaoTriangle.o
g++ -dynamiclib -o ./lib/libtao.dylib ./build/Tao.o ./build/TaoAccessPoint.o \
./build/TaoBow.o ./build/TaoCell.o ./build/TaoCircle.o ./build/TaoConnector.o \
./build/TaoDevice.o ./build/TaoEllipse.o ./build/TaoGraphicsEngine.o \
./build/TaoHammer.o ./build/TaoInstrument.o ./build/TaoOutput.o \
./build/TaoPitch.o ./build/TaoRectangle.o ./build/TaoStop.o \
./build/TaoString.o ./build/TaoSynthEngine.o ./build/TaoTriangle.o \
-framework GLUT -framework OpenGL

Tao.o: ./src/Tao.cc
g++ -c -g -pg ./src/Tao.cc -o ./build/Tao.o -DHAVE_OSX -I./include

TaoAccessPoint.o: ./src/TaoAccessPoint.cc
g++ -c -g -pg ./src/TaoAccessPoint.cc -o ./build/TaoAccessPoint.o -DHAVE_OSX -I./include

TaoBow.o: ./src/TaoBow.cc
g++ -c -g -pg ./src/TaoBow.cc -o ./build/TaoBow.o -DHAVE_OSX -I./include

TaoCell.o: ./src/TaoCell.cc
g++ -c -g -pg ./src/TaoCell.cc -o ./build/TaoCell.o -DHAVE_OSX -I./include

TaoCircle.o: ./src/TaoCircle.cc
g++ -c -g -pg ./src/TaoCircle.cc -o ./build/TaoCircle.o -DHAVE_OSX -I./include

TaoConnector.o: ./src/TaoConnector.cc
g++ -c -g -pg ./src/TaoConnector.cc -o ./build/TaoConnector.o -DHAVE_OSX -I./include

TaoDevice.o: ./src/TaoDevice.cc
g++ -c -g -pg ./src/TaoDevice.cc -o ./build/TaoDevice.o -DHAVE_OSX -I./include

TaoEllipse.o: ./src/TaoEllipse.cc
g++ -c -g -pg ./src/TaoEllipse.cc -o ./build/TaoEllipse.o -DHAVE_OSX -I./include

TaoGraphicsEngine.o: ./src/TaoGraphicsEngine.cc
g++ -c -g -pg ./src/TaoGraphicsEngine.cc -o ./build/TaoGraphicsEngine.o -DHAVE_OSX -I./include

TaoHammer.o: ./src/TaoHammer.cc
g++ -c -g -pg ./src/TaoHammer.cc -o ./build/TaoHammer.o -DHAVE_OSX -I./include

TaoInstrument.o: ./src/TaoInstrument.cc
g++ -c -g -pg ./src/TaoInstrument.cc -o ./build/TaoInstrument.o -DHAVE_OSX -I./include

TaoOutput.o: ./src/TaoOutput.cc
g++ -c -g -pg ./src/TaoOutput.cc -o ./build/TaoOutput.o -DHAVE_OSX -I./include

TaoPitch.o: ./src/TaoPitch.cc
g++ -c -g -pg ./src/TaoPitch.cc -o ./build/TaoPitch.o -DHAVE_OSX -I./include

TaoRectangle.o: ./src/TaoRectangle.cc
g++ -c -g -pg ./src/TaoRectangle.cc -o ./build/TaoRectangle.o -DHAVE_OSX -I./include

TaoStop.o: ./src/TaoStop.cc
g++ -c -g -pg ./src/TaoStop.cc -o ./build/TaoStop.o -DHAVE_OSX -I./include

TaoString.o: ./src/TaoString.cc
g++ -c -g -pg ./src/TaoString.cc -o ./build/TaoString.o -DHAVE_OSX -I./include

TaoSynthEngine.o: ./src/TaoSynthEngine.cc
g++ -c -g -pg ./src/TaoSynthEngine.cc -o ./build/TaoSynthEngine.o -DHAVE_OSX -I./include

TaoTriangle.o: ./src/TaoTriangle.cc
g++ -c -g -pg ./src/TaoTriangle.cc -o ./build/TaoTriangle.o -DHAVE_OSX -I./include


clean:
\rm ./build/*.o ./lib/*.a




Here are the errors I'm getting:


Undefined symbols:
"_tao", referenced from:
_Tick in Tao.o
_Time in Tao.o
_tao$non_lazy_ptr in Tao.o
_tao$non_lazy_ptr in TaoAccessPoint.o
_tao$non_lazy_ptr in TaoBow.o
_tao$non_lazy_ptr in TaoConnector.o
_tao$non_lazy_ptr in TaoDevice.o
_tao$non_lazy_ptr in TaoGraphicsEngine.o
_tao$non_lazy_ptr in TaoHammer.o
_tao$non_lazy_ptr in TaoInstrument.o
_tao$non_lazy_ptr in TaoOutput.o
_tao$non_lazy_ptr in TaoStop.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make: *** [libtao] Error 1


What do these errors mean and how do I fix them?

Cheers,

Chris