我正在努力盡可能保持我的C++項目跨平臺。
雖然我確實依賴於以下MFC \ ATL類:CString,CTime,CTimeSpan。對各種MFC ATL類的跨平臺支持
在MFC \ ATL類的某處是否有打開的實現?
這些軟件包有多普遍,我應該使用開源庫開始,還是應該等到需求出現?
我正在努力盡可能保持我的C++項目跨平臺。
雖然我確實依賴於以下MFC \ ATL類:CString,CTime,CTimeSpan。對各種MFC ATL類的跨平臺支持
在MFC \ ATL類的某處是否有打開的實現?
這些軟件包有多普遍,我應該使用開源庫開始,還是應該等到需求出現?
代替CString
使用std::string
代替CTime
使用boost::ptime
代替CTimeSpan
使用boost::time_duration
我建議不要依賴這些類。例如,它們特定於MFC/ATL,並且不會輕易移植到Unix。嘗試構建一個單獨的轉換層,並嘗試構建大約boost庫,更便於攜帶。
雖然這個建議不會回答你的跨平臺的要求,但它滿足的要求「開放實現MFC/ATL類」。
檢出Windows模板庫(WTL)。
微軟在幾年前開源,你可以從它的sourceforge project page下載它,它也可以從微軟的網站上下載。
來自SourceForge頁面的描述: Windows模板庫(WTL)是一個用於開發Windows應用程序和UI組件的C++庫。它擴展了ATL(活動模板庫)併爲控件,對話框,框架窗口,GDI對象等提供了一組類。
希望這會有所幫助!
考慮移植到Qt,作爲一個好處Qt是更好的工作。 – 2010-11-06 17:27:44
@Paulo:認真嗎?將整個項目轉換爲Qt項目和Qt構建系統,僅用於這三個類? – Inverse 2010-11-06 17:52:44
如果不是GUI爲什麼使用MFC而不是普通的STL?如果是GUI並且他想跨平臺,移植到Qt是C++最簡單的方法。 – 2010-11-06 17:58:36