C++ 将图标添加到QT5会导致链接器错误

C++ 将图标添加到QT5会导致链接器错误,c++,qt,icons,qt5,C++,Qt,Icons,Qt5,我一直在努力为我的QT应用程序添加一个图标。现在的问题是无法让它在应用程序本身中工作(该图标在任务栏和应用程序窗口的左上角都显示良好)。问题在于windows资源管理器 现在我找到了一些解决方案,它们要么在.pro文件中添加一个.rc文件,要么使用rc_图标。 但这两种实现都会导致链接器错误: LNK1123:转换为COFF期间失败:文件无效或损坏 对它进行一些搜索只会找到那些在没有安装VS2010的情况下尝试编译的人,但这里的情况并非如此,因为它在没有图标的情况下安装并编译得很好 >任何建议

我一直在努力为我的QT应用程序添加一个图标。现在的问题是无法让它在应用程序本身中工作(该图标在任务栏和应用程序窗口的左上角都显示良好)。问题在于windows资源管理器

现在我找到了一些解决方案,它们要么在.pro文件中添加一个.rc文件,要么使用rc_图标。 但这两种实现都会导致链接器错误:

LNK1123:转换为COFF期间失败:文件无效或损坏

对它进行一些搜索只会找到那些在没有安装VS2010的情况下尝试编译的人,但这里的情况并非如此,因为它在没有图标的情况下安装并编译得很好


<> >任何建议都会被赏识。

< P>下面的解决方案对Visual C++ 2013和MinGW都适用,但这是Windows专用的。 将以下行添加到Qt项目文件中

RC\u FILE=WindowsResource.RC

现在,在与Qt项目文件相同的文件夹中创建一个文本文件,并将其命名为WindowsResource.rc。只要在Qt项目文件中正确引用,您可以随意调用它。在记事本中打开它并插入以下行

IDI_ICON1图标可丢弃的“MyIcon.ico”

现在,将所需图标与Qt项目文件放在同一文件夹中,并将其命名为MyIcon.ico,只要在创建的windows资源文件中正确引用,就可以随意命名它

运行qmake并重新生成应用程序,此时.exe文件将以新图标显示在Windows资源管理器中

编辑: 我使用Visual C++ 2013,它工作。我引用这篇文章

原因:在使用Visual Studio 2010 RTM并行安装Visual Studio 2012(SXS)或在使用Visual Studio 2010的计算机上安装.Net Framework 4.5后,可能会出现此错误

解决方案:要解决此链接错误,请将Visual Studio 2010 RTM升级到VS 2010 SP1。升级到VS 2010 SP1解决了依赖项故障,并且VC++2010项目生成没有LNK1123错误


如果你使用Visual C++ 2010,那么我建议你安装了Service PACK 1,我不确定安装SP1会解决这个问题,因为你没有图标的编译很好。< / P>不幸的是,这正是我正在做的,这导致链接错误。如果没有这个,应用程序可以很好地编译。感谢您的编辑,我将在早上第一件事检查解决方案。非常感谢:)