我已经将QT的版本(从5.10.1切换到5.12.2)以获取Mingw32的最新版本(从GCC / G ++ 5.3-> 7.3)。这背后的原因是,有多个产品使用相同的库并且使用旧版本的gcc不太理想。以前我们从未在构建方面遇到任何问题,但是现在出现以下错误:
“:-1:错误:'release / qrc_resources.cpp'不需要任何规则来建立目标'res / resources.qrc'。停止。”
奇怪的是,它不会阻止构建生成功能正常的可执行文件。
到目前为止,我已经尝试过: 清理目录并重新构建 删除构建目录并重新构建 不选择阴影构建选项 强制Qmake(Build-> Run Qmake) 创建一个新的.pro.user文件 删除整个仓库,再次克隆它,重建依赖关系(我们有依赖的库)并重建QT 将.qrc文件添加到包含文件中(我知道这很愚蠢,但是我很聪明) 检查已删除的文件(我看不到) 检查文件名是否不一致(看起来还可以)
这是我的qrc文件
<RCC>
<qresource prefix="/">
<file>images/cnctbtn_connected.png</file>
<file>images/cnctbtn_connecting.png</file>
<file>images/cnctbtn_disconnected.png</file>
<file>images/configbtn.png</file>
<file>images/flash.png</file>
<file>images/logbtn.png</file>
<file>images/streambtn_start.png</file>
<file>images/streambtn_stop.png</file>
<file>images/d_logo_outlined.ico</file>
<file>images/d_logo_small.png</file>
<file>images/d_logo_small_outlined.png</file>
</qresource>
</RCC>
图片文件夹中的资源列表
cnctbtn_connected.png
cnctbtn_connecting.png
cnctbtn_disconnected.png
configbtn.png
d_logo_small.png
d_logo_small_outlined.png
flash.png
logbtn.png
streambtn_start.png
streambtn_stop.png
d_logo_outlined.ico
qrc_resource_File.cpp也看起来不错。我在其中看到图像的字节,它们的名称以及各种名称空间声明和函数。
我不确定的一件事是为什么images文件夹在资源名称列表中具有它的名称。
注意:为了我和你的眼睛,我已经删除了此数组中的字节。
static const unsigned char qt_resource_name[] = {
// images
// cnctbtn_disconnected.png
// cnctbtn_connected.png
// cnctbtn_connecting.png
// streambtn_start.png
// d_logo_outlined.ico
// d_logo_small.png
// streambtn_stop.png
// d_logo_small_outlined.png
};
理想情况下不会有构建错误,因为我可以看到并使用生成的可执行文件,所以我并没有真正理解该错误。如果您需要其他任何信息,请随时询问!