CMake,QT Quick& Visual Studio:" qrc:/main.qml:-1找不到文件"

时间:2017-06-06 09:47:26

标签: c++ visual-studio qt cmake qt-quick

我正在尝试将QT QuickQML)与Visual Studio 2015CMake一起使用。我开始用一个例子" QT Quick Controls - Gallery"并将其转移到CMake。它在QT Creator(使用Visual Studio'编译器)中工作正常,但在Visual Studio(使用CMake GUI生成的解决方案)中没有工作:

QQmlApplicationEngine failed to load component
qrc:/main.qml:-1 File not found

我试图找出问题并发现了这个很好的例子:https://github.com/mattfife/QtQuick-with-cmake,它在QT Creator中有效(经过一些修改),但在Visual Studio中却有完全相同的问题。

qml.qrc文件是这样的:

<RCC>
    <qresource prefix="/">
        <file>main.qml</file>
    </qresource>
</RCC>

对于这两种环境(QT Creator和Visual Studio),我在构建目录中有一个文件src/qml.qrc.depends,其内容与之前的qml文件完全相同。

main.cpp中的重要部分:

QQmlApplicationEngine engine;
engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
if (engine.rootObjects().isEmpty())
    return -1;

如果我删除了CMakeLists.txt文件中的下一行,则可以在QT Creator中重现该错误:

qt5_add_resources(qml_QRC src/qml.qrc)

知道如何解决或尝试什么?例如,我不知道如何调试这个QQmlApplicationEngine对象。

1 个答案:

答案 0 :(得分:1)

确保在项目中添加了生成的文件(我假设它是qrc_qml.cpp)。在Visual Studio中,右键单击qml.qrc时,会出现一个Compile选项(或Ctrl + F7)。这将从qml.qrc生成一个cpp文件。它通常在GeneratedFiles文件夹中生成。