将图标添加到QT5会导致链接器错误
Adding Icon to QT5 causes linker error
我一直在努力为QT应用程序添加图标。现在的问题是不能让它在应用程序本身中工作(图标在任务栏和应用程序窗口的左上角都显示得很好)。问题出在windows资源管理器上。
现在我找到了一些解决方案,它们要么在.pro文件中添加.rc文件,要么使用rc_ICONS。但这两种实现都会导致链接器错误:
LNK1123:转换为COFF期间失败:文件无效或损坏
对其进行一些搜索只会找到那些试图在没有安装VS2010的情况下进行编译的人,但这里的情况并非如此,因为它在没有图标的情况下安装并编译得很好。
如有任何建议,我们将不胜感激。
以下解决方案适用于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
原因:将Visual Studio 2012与Visual Studio 2010 RTM并排安装(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是否能解决问题,因为您在没有图标的情况下编译得很好。
- 静态数据成员的问题-修复链接错误会导致编译器错误
- Visual Studio mkl_link_tool.exe链接错误
- C++ 实现模板单例类时出现链接错误
- 使用类模板的方法链接错误
- MySQL C++连接器链接错误
- VS 2015 链接错误 无法构建依赖于 libcurl 的项目
- 运行 C++ 单元测试时LNK2005链接错误
- 对 CMake 中'cudaRegisterLinkedBinary'链接错误的未定义引用?
- 链接错误,包括我创建的相同头文件 - C++
- 在Embarcadero C++ Builder中生成的DLL未解决的外部链接错误
- 使用标头保护的多个定义链接错误
- 链接错误:未定义对 stdscr 和 wgetch 的引用
- 使用 Vivek 的 Vcam / 捕获源过滤器构建/链接错误
- 升压program_options中的链接错误
- 使用 g++ 预处理器进行替换会导致链接错误
- 在调试配置中编译工作正常,但发布会给出链接错误
- 相邻矩阵设置链接错误
- 包含常量变量并包含在多个文件中的标头的链接错误
- C++链接错误,我理解但无法解决
- 是什么导致macOS Mojave上的GoogleTest链接错误