2009-11-09 95 views
3

目前我們所有的GUI組件都是用MFC編寫的。我們的編譯環境是:從MFC過渡到QT

VC 6

的Windows XP

我不知道是否:

1)我們可以替換使用Qt的所有MFC組件,不改變構建環境?

2)Qt可以像VC6一樣使用其他庫嗎?

你的答案會幫助我入門,同時我已經安裝了Qt 4並且正在嘗試構建一些示例。

+2

替代方案 - 考慮到您的舊編譯器 - 將首先升級到vs2008/mfc - 如果可移植性不是問題。 –

+0

我強烈支持Anders Karlsson的建議。 VC++ 6是古老而獨特的。你會發現越來越少的第三方軟件可以使用它。 VC++ 2008幾乎完全符合標準,所以它會變得更好。 –

+0

thx安德斯,大衛..我認爲你的建議..我會提出相同的團隊:) – Satbir

回答

6

1)如果我們可以用QT替換所有MFC組件,而不改變構建環境?

是的,你甚至可以得到一個MFC/QT遷移框架CF qt.nokia.com/products/appdev/add-on-products/catalog/4/Windows/qtwinmigrate/

2)將Qt的用VC6工作的任何其他圖書館嗎?

VC6超過10歲!

Qt支持VC6,直到4.5版 的下一個版本(4.6)將下降VC6支持CF qt.nokia.com/doc/4.6-snapshot/qt4-6-intro.html#performance-optimizations

+0

哎呀VC6支持Qt,我已經與win9x支持混淆。 目前還不清楚哪個版本的Qt仍然支持VC6。我猜最新的是Qt-4.4 cf http://doc.trolltech.com/4.4/supported-platforms.html Qt 4.5特別將VC6標記爲不受支持:http://doc.trolltech.com/4.5/supported- platforms.html –

2

你可能不應該在Qt 4.5中使用VC6。 (see doc

除此之外:如果您的項目與Qt編譯,您可以輕鬆*切換到Qt組件。 Qt無論如何都使用自己的組件,所以沒有其他的依賴關係。

但是,要設置Qt環境,除非不使用QObject s,否則可能需要對構建系統進行一些更改。 (想想moc預處理器。)

*:很容易就能夠開始使用Qt組件。實際將MFC組件遷移到Qt的工作量是我不知道的。

2

將MFC更換爲QT需要做大量的工作。首先你應該考慮你是否需要這個。其次,Qt可以與Visual Studio集成。

1

試圖端口一個客戶的MFC應用程序中的Qt當我得知是非常有用的東西。

我做了一個lot的重構。那根本不會嚇到我。但是,我通常是增量改變的事情。這有很大的不同。

我剛開始的Qt在LGPL版本發佈後移植MFC應用程序中的Qt,但「qtwinmigrate」的LGPL發佈之前(在ftp://ftp.qt.nokia.com/qt/solutions/lgpl/得到它)。當時,我認爲Qt會堅持MFC遷移的東西作爲商業授權的激勵。

在編譯項目之前,我不得不轉換大量的文件。一旦基礎知識啓動並運行,我會慢慢重新添加對話框,直到功能與原始版本匹配。這是難得多比能夠保持現有的MFC應用程序按原樣運行並慢慢替換對話框。

所以,重點是...... 使用QTWINMIGRATE!

哦,是啊...並且不要使用VC6。升級到更新的東西。