2010-10-28 101 views
3

我在部署Qt應用程序時遇到了一個奇怪的問題。我在我的Windows XP 32位盒子上創建了一個包含所有必需的DLL和我的二進制文件的Zip,其中應用程序工作得很好,在Windows上部署Qt dll

然後我在運行Windows 7 64位的筆記本電腦上測試了這個,給了我奇怪的結果。窗口圖標返回到默認窗口圖標,我的系統托盤圖標不可見。其他一切正在工作。 當我從窗口上的相同資源文件中繪製一個標誌(並且這在兩臺機器上都能正常工作)時,資源文件應該加載正常。

然後,我將我的win7機器上的dll(我安裝了相同的安裝程序)複製到我的二進制文件的目錄中,並且圖標再次運行。我檢查了dlls哈希,它們是相同的。

另外我在我的XP機器上試過這些DLL,這次它不顯示圖標。

這很奇怪,因爲dll是從相同的軟件包安裝的,並且完全相同,但在其他機器上不起作用。

有什麼我忽略了嗎?

我正在使用QT 4.7和msvs2008安裝程序加上插件。

+0

你是否在應用程序中部署了imageformats插件? – 2010-10-28 21:45:35

+0

哦,不,我想我沒有。我現在就試試這個。編輯:我只是試了一下,沒有任何好處。我已經部署了插件/ imageformats和插件/圖標引擎 – Mathias 2010-10-28 21:46:27

回答

12

如果您將插件部署到應用程序目錄,則必須使用目錄imageformats和iconengines(不帶插件/前綴)。 查看文檔關於Deploying Plugins

編輯:如果您使用QML,你還必須在「進口」目錄的內容(也沒有進口/前綴)複製到您的應用程序目錄。

+0

謝謝,那恰恰是錯誤的。此外,感謝卡米爾Kilmek :) – Mathias 2010-10-29 08:14:08