跨平台支持各种MFC \ ATL类

时间:2010-11-06 17:20:52

标签: c++ mfc cross-platform atl

我试图尽可能地保持我的C ++项目跨平台。
虽然我确实依赖于以下MFC \ ATL类: CString,CTime,CTimeSpan

在MFC \ ATL类的某个地方是否有一个开放的实现?
这些软件包有多常见,我应该使用开源库,还是应该等到需要时才开始?

3 个答案:

答案 0 :(得分:4)

而不是CString使用std::string

而不是CTime使用boost::ptime

而不是CTimeSpan使用boost::time_duration

答案 1 :(得分:2)

虽然此提案无法满足您的跨平台要求,但它确实符合“开放实施MFC / ATL课程”的要求。

查看Windows模板库(WTL)。

微软几年前开源了,你可以从它的sourceforge project page下载它,它也可以从微软的网站上获得。

SourceForge页面中的描述: Windows模板库(WTL)是用于开发Windows应用程序和UI组件的C ++库。它扩展了ATL(活动模板库)并为控件,对话框,框架窗口,GDI对象等提供了一组类。

希望这有帮助!

答案 2 :(得分:1)

我建议不要依赖这些课程。它们特定于MFC / ATL,例如,不容易移植到Unix。尝试构建一个单独的转换层,并尝试构建boost库,更加便携。