在DLL编程中调用模版类时出现的类似"class“XXX”需要有 dll 接口由 class“XXX”的客户端使用"的warning的解决方案

在DLL编程中, 如果调用模版类, 则可能出现类似以下的错误(以CString的使用为例):

warning C4251: “CLogFile::m_strFileName”: class“ATL::CStringT <BaseType,StringTraits>”需要有 dll 接口由 class“CLogFile”的客户端使用 

解决方法如下:

在调用该模板类之前, 先加入以下声明, 将模版类导出(export):

template class __declspec(dllexport) CStringT<char>; 

如此, 则可消除该warning.

 

参考: http://topic.csdn.net/u/20090321/09/bc66fb7d-14f1-4b57-b6a0-5d3c86907cb2.html

你可能感兴趣的:(编程,c,Class,dll)