"Her, Il" <il.her@xxxxxx> writes: > I experienced "undefined reference to template function ." when I am compiling my program > with gcc 4.1.2. > > Almost everyone says > that's because template functions weren't be implemented in the same unit where they are > prototyped. (I used .cpp file for implementation and .h file for declaration). > > But, It works if I use gcc 3.4.6 compiler without any change of options. > Why is this happening?... > I am working with my customer, I can't make them understand the common rule for using template > because it works on gcc 3.4.6. > > Can you explain this situation to me? > (Something like it is changed after 4.0 or you have any options to avoid this.) It's impossible to give you a precise answer without a small example. You may find it helpful to read http://gcc.gnu.org/onlinedocs/gcc-4.6.0/gcc/Template-Instantiation.html Ian