在 MinGW 构建后,Qt 工具栏按钮图标在 Windows 中显示,但在使用 g++ 构建后消失

Posted

技术标签:

【中文标题】在 MinGW 构建后,Qt 工具栏按钮图标在 Windows 中显示,但在使用 g++ 构建后消失【英文标题】:Qt Toolbar button icons show in Windows after MinGW build, but disappear after being built with g++ 【发布时间】:2009-01-23 22:15:07 【问题描述】:

我正在开发一个类似于 Eclipse 的 php IDE,但重量更轻。对于界面,我使用的是 Qt 4.4.3,它似乎工作得很好。我主要使用我的 Windows 机器在 Eclipse CDT 中进行大部分编码,并使用 MinGW 作为编译器。

几天前,我把代码放在我的 Eee PC 上,看看我是否可以构建它。好吧,在获得了 build-essential、Qt 和 Eclipse 之后,程序编译得很好。但是,当我在 Linux 中启动它时,我的程序工具栏上的所有图标都消失了。这些是常见的图标,如剪切、复制、粘贴、打开、新建......构建没有给我任何警告,并且工具栏就像它有图标一样(即,如果图标不可用,则有一个文本标签显示按钮。它不显示文本标签,因此它认为图像在那里)。

关于为什么图标没有显示的任何想法?文件结构完全一样,图标的路径也正确。资源文件查找图像。我对 Linux 很陌生,并且在 Linux 上进行开发,所以我很感激任何帮助。

非常感谢!

【问题讨论】:

你如何显示图标的图像? 您是否记住在 Linux 中,文件名区分大小写? 您能添加您的 .pro 和 .qrc 文件吗? 如果您确定这些文件是正确的:qmake 运行时没有错误吗?也许您可以发布访问这些资源的代码。 【参考方案1】:

哪种图像格式,例如GIF,PNG,你用的是图标吗?可能是目标机器上的 Qt 没有成功加载该格式的 plugins。

【讨论】:

【参考方案2】:

使用'strace -e file -o LOG ./YourBinary',启动后立即退出程序。

查看日志中的“未找到文件错误”。在像这样的神秘案例中,以这种方式仔细检查路径确实正确是没有坏处的

【讨论】:

以上是关于在 MinGW 构建后,Qt 工具栏按钮图标在 Windows 中显示,但在使用 g++ 构建后消失的主要内容,如果未能解决你的问题,请参考以下文章

如何使用交叉编译的构建调试 Qt dll 问题?

QT安装配置是注意事项

QT用VS还是MINGW编译好,有啥区别

在 QT 中设置和操作图标

配置windows qt开发环境

Qt在运行代码时,构建报错,将所有路径改成中文后,同样报错,求解答?