1) You do not need extern in your header.
2) Why are you casting to char* when function accepts void*?
3) I hope call to function is in some function and not in global space
4) Did you include OTI.h in your OTI.cpp?
5) Did you compile PackUnpack.cpp alongside OTI.cpp?