簡體   English   中英

我可以使用Qt 4.8.4部署Windows 2000嗎?

[英]Can I deploy for Windows 2000 using Qt 4.8.4?

我已經使用Qt 4.8.4創建了一個應用程序,現在我必須在其他Windows 2000計算機上分發它。 我已經嘗試在Internet上搜索有關它的明確說明,但是我找不到關於Qt實際支持的較舊Windows版本的確認。

該應用程序可以在Windows XP(32位和64位)和Windows 7上正常運行,但是,當我嘗試在Windows 2000上啟動它時,會收到眾所周知的錯誤“ [應用程序名稱] .exe不是有效的win32應用程序。 ” ,而且我猜該錯誤取決於不受支持的Windows版本。

該應用程序是一個“簡單”的應用程序,它只需要QtCore4.dll和QtGui4.dll作為依賴項。

如果有幫助,我正在使用Qt 4.8.4和Qt Creator 2.7.1在Windows 7 64位計算機上進行開發。 如果我進入“工具”->“選項”->“構建和運行”->“工具包”->“手動”->“桌面”,則使用“ Microsoft Visual C ++編譯器10.0(x86)”作為編譯器。 也許我必須選擇其他嗎?

感謝您的任何答復。


編輯What I've done after reading @vahancho's answer

  • 使用CMake將項目從Qt Creator“移動”到Visual Studio 2010;
  • 安裝Visual Studio Express 2008(以這種方式啟用V90平台工具集)
  • 從VS2010打開項目,然后轉到“項目屬性”->“配置屬性”->“常規”,然后將“平台工具集”更改為V90;
  • 重新編譯項目;

現在,我試圖在安裝Windows 2000的虛擬機上運行以這種方式編譯的應用程序,但是這次又出現另一個錯誤:“ 過程入口點DecodePointer不能位於動態鏈接庫KERNEL32.dll中 ” 。

好了,經過一些調查,我發現無法在Windows 2000上運行MSVC10應用程序。 您最多只能使用MSVC9(Visual Studio 2008)來構建它,或者使用VS2010多目標功能來使VC ++ 2010使用VC ++ 2008編譯器和庫。 另請參閱此Microsoft Connect討論

好的,已經過去了一段時間,但是我想對我的這個問題給出一個明確的答案。 不幸的是, 我所要求的是不可能的 @vahancho的答案是正確的,他指出的解決方案在大多數情況下都是正確的。 但是,Windows XP SP 2內核中“包含”了DecodePointer ,即使使用VC ++ 2008編譯器,也無法使用較舊的Microsoft OS對其進行編譯的應用程序。

此文章在CodeProject上提供了其他參考。 對我來說幸運的是,我的應用程序非常簡單,可以讓我使用舊的VB6來重寫它:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM