I am working on porting a c++ program that I may bring to fink if I can get it to work, and I keep running into a problem. Every time I try to link two object files, one with a template the other needs, I get an error, for example:

ld: warning prebinding disabled because of undefined symbols
ld: Undefined symbols:
___t6Vector1ZbUsn2
/usr/bin/libtool: internal link edit command failed

Vector is defined as:

template <class T>
class Vector: public ThreadSafeObject {
[...]
};

Then the methods in Vector are of the following format:

template <class T>
Vector<T>::Vector(const Vector<T> &val):ThreadSafeObject() {
[...]
}

Can someone please help me figure this out? I have had this problem on several archetectures, including several variants of Linux, so I know it is not a complex answer. This problem also occurs in all of my programs that use templates needing linking across object files.

Thanks in advance,
Kyle Moffett

Reply via email to