2010-06-08 68 views
23

我需要支持Windows 98.Qt文檔聲稱這是可能的,但沒有說明。 Qt 4.6的分佈式二進制文件不能在Win98上運行,我所取樣的大多數Qt應用程序也不會。對於在98上運行的幾個應用程序,我問作者他們是如何做到的,但常見的答案是它是偶然的,他們不知道造成它的因素。爲Windows 98編譯Qt

在搜索論壇尋求幫助,我發現只有猜測結果是錯誤的。例如,一個想法是,爲了編譯Win9x,您必須在該平臺上構建工具和應用程序。然而,我發現運行的東西是建立在更新版本的Windows上的。

  • 構建Qt開發工具和Win98應用程序需要什麼?
  • 從WinXP或Linux交叉編譯如何?
  • 是否存在無法在Win98上運行的特定組件?
  • 對於Win98支持的動態或靜態鏈接有特殊困難嗎?
+0

哇。我對今天的問題投了贊成票。 – 2010-06-08 16:12:04

+0

只是一個想法:嘗試使用可以針對Win98的編譯器和運行時庫。如Visual Studio/Visual C++ 6.0。 – 2010-06-08 17:44:44

+0

Trolls在Windows 98上測試的最新Qt 4版本是4.4,請參見[編譯器註釋 - Visual Studio(Windows)](http://doc.trolltech.com/4.4/compiler-notes.html#visual-studio-視窗)。如果你真的不需要最近的版本,那麼使用VC++ 6 SP5或.NET來嘗試。 – przemoc 2010-06-09 09:12:46

回答

6

這是據我要買這個:

你可以使用任何Windows版本的MinGW或VC++ 6 SP5來定位Windows 98。從Linux交叉編譯是可行的,但不容易set up

Qt 4.4.3是在Win98上正式測試的最後一個版本。要在Win98上運行分佈式binaries,您需要安裝可從Microsoft獲得的較舊版本的glu32.dll和opengl32.dll。由於未解決的錯誤,助理將啓動但無法加載幫助文件。 bin目錄中的備用版本assistant_adp.exe工作正常。看來唯一的另一個潛在問題是QtOpenGL可能會使用舊盒子上沒有的功能。

除了WebKit,OpenGL和Phonon之外,Qt 4.5.3似乎仍然兼容。 QtOpenGL預計OpenGL 1.5,我不知道甚至可能在舊盒子上。我沒有深入研究Phonon,以確切地看到問題所在。 QtWebKit現在需要Win2K或更高版本。分佈式的binaries工作大多好。助手依賴於QtWebKit,所以不會啓動,但assistant_adp.exe仍然有效。

Qt 4.6.3分佈式binaries現在完全與Win98不兼容。使用MinGW 4.4以及大量黑客攻擊可能會有所幫助。

構建Qt Creator需要Qt 4.6.0和MinGW 4.4或VS 2008.

1

哇...有趣的使命。

所以,基本上 - 是的,Windows 98支持Qt。問題是有一個大的IF。例如,如果您甚至嘗試設置一些不同的QTextCodec :: codecForName,則必須爲此提供第三方ttf,因爲在大多數情況下,Win98不會將其識別爲有效。如果你提供了確切的錯誤,而在win98機器上編譯它,我可以幫你。

「如何從WinXP或Linux進行交叉編譯?」 - 如果你只使用Qt庫,一切都很好。否則,在.pro文件中,你必須鏈接在win32和unix條件下的這些庫。所以你甚至可以禁止你的代碼,在其他系統中編譯和執行......

「是否有特定的組件不能在Win98上運行? - 當然。在.pro文件中,您可以爲不同的操作系統包含不同的庫。

「對於Win98支持,動態鏈接或靜態鏈接有特殊困難嗎?」 - 據我所知 - 沒有。

//關閉 - 但它仍然奇怪,有人想要寫申請WIN98,今天...

+0

您是否認爲Qt 4.6中的所有19個跨平臺模塊都可以在Win98上編譯和運行,甚至是QtWebKit?如果我在WinXP上使用mingw32的cmake和gcc,那麼需要什麼特殊設置來定位Win98呢?任何想法爲什麼在XP上編譯的這麼多的二進制文件不能在98上運行? – user287424 2010-06-15 03:11:39

+2

RE:Win98。如果你唯一的興趣是銷售新的軟件,毫無疑問,Win98看起來已經死了。但是,這忽略了保持舊電腦直到它死亡的用戶。如果他們有什麼作品,他們覺得不需要花錢買新的東西。這一類別包括老年人,窮人,小企業和許多發展中國家。我的印象是全世界的Win98用戶比Mac OS X有更多的用戶,並且沒有人懷疑考慮Mac用戶需求的價值。 – user287424 2010-06-15 03:13:11

+0

理論上:是的,這些模塊中的每一個都應該在Win98下運行良好,特別是如果您在應用程序中僅使用Qt模塊。 但是,你永遠不知道。在未經測試的平臺下通常會有一些愚蠢的錯誤。所以試試吧。 – Vladimiroff 2010-06-15 22:47:03