首页 > 解决方案 > QT:没有规则来制作目标'res/resources.qrc'

问题描述

我已经切换了 QT 的版本(从 5.10.1 到 5.12.2)以获得更新版本的 Mingw32(从 GCC/G++ 5.3 -> 7.3)。这背后的原因是多个产品使用同一个库并使用旧版本的 gcc 并不理想。我们以前从未遇到过任何构建问题,但现在我收到以下错误:

“:-1:错误:没有规则来制作目标'res/resources.qrc','release/qrc_resources.cpp'需要。停止。”

奇怪的是,它并没有阻止构建生成一个功能齐全的可执行文件。

到目前为止,我已经尝试过: 清理目录并再次构建 删除构建目录并再次构建 不选择影子构建选项 强制 Qmake (Build -> Run Qmake) 创建一个新的 .pro.user 文件 删除整个 repo,再次克隆它,重建依赖项(我们有一个它依赖的库)并重建 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>

位于 images 文件夹中的资源列表

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 看起来也不错。我在其中看到图像的字节、它们的名称以及该名称空间中的各种名称空间声明和函数。

我不确定的一件事是为什么图像文件夹的名称在资源名称列表中。

注意:为了我和你的眼睛,我已经删除了这个数组中的字节。

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

};

理想情况下不会出现构建错误,因为我可以看到并使用生成的可执行文件,所以我不太了解。如果您需要任何其他信息,请随时询问!

标签: qtqt5

解决方案


推荐阅读