2014-09-20 43 views
1

我一直在爲我的QT應用程序添加圖標而苦苦掙扎。現在問題是它不能在應用程序本身中工作(圖標在應用程序窗口的任務欄和左上角都顯示正常)。問題是與Windows資源管理器。將圖標添加到QT5導致鏈接器錯誤

現在我找到了一些解決方案,其中聲明要將.rc文件添加到.pro文件或使用RC_ICONS。 但是這兩種實現的導致鏈接錯誤:

LNK1123: failure during conversion to COFF: file invalid or corrupt

做一些搜索到,只有結果,發現人們試圖無需安裝VS2010編譯,但因爲它的安裝和編譯,這裏並非如此罰款沒有圖標。

任何建議,將不勝感激。

回答

0

以下解決方案適用於Visual C++ 2013和MinGW,但這是Windows特有的。

將以下行添加到您的Qt項目文件中。

RC_FILE = WindowsResource.rc

現在創建在同一文件夾中的文本文件作爲你的Qt項目文件並調用它WindowsResource.rc,你可以調用它,因爲它是在Qt工程文件正確引用任何你想要的,只要。在記事本中打開它並插入以下行。

IDI_ICON1 ICON DISCARDABLE "MyIcon.ico"

現在把你在同一文件夾要作爲Qt工程文件的圖標,並調用它MyIcon.ico,你可以調用它,因爲它是在Windows的資源文件中正確引用任何你想要的,只要你創建。

運行qmake並重建您的應用程序,該.exe文件現在應該顯示在Windows資源管理器中,並帶有新圖標。

編輯: 我用Visual C++ 2013,它的工作。我引用的文章在http://support.microsoft.com/kb/2757355

Cause: This error can appear after installing Visual Studio 2012 side-by-side (SXS) with Visual Studio 2010 RTM or after installing .Net Framework 4.5 on a machine with Visual Studio 2010.

Resolution: To resolve this link error, upgrade Visual Studio 2010 RTM to VS 2010 SP1. Upgrading to VS 2010 SP1 resolves the dependency failure and the VC++ 2010 project builds with no LNK1123 error.

如果您正在使用Visual C++ 2010那麼我建議你要確保你有安裝Service Pack 1,我不知道在安裝SP1將解決這一問題,但因爲你是沒有圖標編譯好。

+0

不幸的是,這正是我正在做的,這導致鏈接錯誤。沒有這個應用程序編譯罰款。 – TheMPC 2014-09-20 23:09:06

+0

感謝您的編輯,將在早上檢查解決方案的第一件事。非常感激 :) – TheMPC 2014-09-21 00:14:33

相關問題