“warning C4251::CStringT<BaseType,StringTraits>需要有 dll 接口”解决办法
2015-09-19 15:39
411 查看
在使用mfc开发dll时,如果我们导出的类中使用了像CString等模板类的话,就会提示4251的编译警告,可以用两种方法来消除。
1、将工程的MFC使用改为“在共享dll中使用mfc”,编译时就没有了4251的警告信息。
2、如果项目只允许使用“在静态库中使用mfc”,那就在工程中添加以下两个语句:
template class _declspec(dllexport) CStringT<char,StrTraitMFC< char >>;
template class _declspec(dllexport) CStringT<TCHAR, StrTraitMFC< TCHAR >>;
将CString导出以下即可,使用到的其他模板类也采用这种方法导出即可。
1、将工程的MFC使用改为“在共享dll中使用mfc”,编译时就没有了4251的警告信息。
2、如果项目只允许使用“在静态库中使用mfc”,那就在工程中添加以下两个语句:
template class _declspec(dllexport) CStringT<char,StrTraitMFC< char >>;
template class _declspec(dllexport) CStringT<TCHAR, StrTraitMFC< TCHAR >>;
将CString导出以下即可,使用到的其他模板类也采用这种方法导出即可。
相关文章推荐
- Git Step By Step - Step 1: Start Over Again
- AI-路径导航(最短路径算法 and A算法)
- xcode7报错:does not contain bitcode
- nginx: [emerg] getpwnam(“www”) failed
- poj3250 Bad Hair Day
- 关于在虚拟设备上运行项目的时候遇到INSTALL_FAILED_NO_MATCHING_ABIS,提示卸载以前安装的版本
- Silverlight 2.5D RPG游戏技巧与特效处理:(十一)AI系统
- LintCode --number-of-airplanes-in-the-sky(数飞机)
- *LeetCode-Container With Most Water
- office outlook 2010/2013 问题 求助 help
- A. Raising Bacteria
- 错误Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.5.1
- 纪念人工智能(AI)奠基60周年(续)
- Raising Bacteria (Codeforces Round #320 (Div. 2) [Bayan Thanks-Round] )
- LightOJ 1282 Leading and Trailing(截取前n位输出)
- codeforces #320 div 2A - Raising Bacteria (位运算)
- zoj1163The Staircases
- 【CodeForces】80D Time to Raid Cowavans 分块
- 关于retain循环引用对象解决图解