Did you mean T.c is being linked correctly? That's what you should be linking, but I'm not sure if it's a typo or actually the issue. Are you using an IDE or compiling on the command line yourself? If it's the latter, how are you doing it? And did you implement the destructor for T?
Thanks for your further questions and remind me something...
1. Yes, I put T.C and T.h in the src/ directory. Both of them are automatically generated by another software(root). Anyway, I have moved T.h to the relative include/ directory and got same compile error message...
2. The compilation commands are a little complex since it links several other Makefile... I'll study the detail information in each Makefile.
As to the dynamic allocation, I've to do it in this way since there are a bunch of these files to run in this code...