In yateclass.h the YATE_API macro is used to generate dllexport/dllimport declarations for the libyate dll.
In this header the template class RefPointer is declared using the YATE_API macro.
template class YATE_API RefPointer : public RefPointerBase
However being a template class this declaration will generate no exportable entries in the dll.
Thus it makes no sense to attempt to export a template, although specific template instantiations can be exported from dll's if desired.
Consequently link errors are generated from modules that attempt to use RefPointer (and dllimport) e.g.
ysipchan.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall TelEngine::RefPointer::~RefPointer(void)" (__imp_??1?$RefPointer@VYateSIPConnection@?A0x87dae242@@@TelEngine@@QAE@XZ) referenced in function __unwindfunclet$?run@YateSIPEndPoint@?A0x87dae242@@UAEXXZ
Release/ysipchan.yate : fatal error LNK1120: 1 unresolved externals
Removing YATE_API from the declaration corrects the problem.
> Norwood Systems Australia Pty Ltd
71 Troy Terrace
PO Box 1281
Subiaco, WA 6904
> Tel +61 8 9380 7766
> Fax +61 8 9380 7733
> The information in this email, and any attachments, may contain confidential information and is intended solely for the attention and use of the named addressee (s). It must not be disclosed to any person(s) without authorization. If you are not the intended recipient, or a person responsible for delivering it to the intended recipient, you are not authorized to, and must not, disclose, copy, distribute, or retain this message or any part of it. If you have received this communication in error, please notify the sender immediately.