CMake,QT Quick & Visual Studio:"qrc:/main.qml:-1 File not found"
CMake, QT Quick & Visual Studio: "qrc:/main.qml:-1 File not found"
我正在尝试将QT Quick
(QML
(与Visual Studio 2015
和CMake
一起使用。我从一个示例" QT快速控件 - 画廊"开始,然后将其转移到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创建者中起作用(经过一些修改(,但在视觉工作室。
qml.qrc
文件是这样的:
<RCC>
<qresource prefix="/">
<file>main.qml</file>
</qresource>
</RCC>
对于两个环境(QT创建者和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创建者中复制该错误:
qt5_add_resources(qml_QRC src/qml.qrc)
关于如何解决它或尝试什么的想法?例如,我不知道如何调试此QQmlApplicationEngine
对象。
确保您在项目中添加了一个生成的文件(我假设是qrc_qml.cpp(。在Visual Studio中,当您右键单击QML.QRC时,会有一个编译选项(或CTRL F7(。这将从您的qml.qrc生成一个CPP文件。它通常是在生成文件夹中生成的。
相关文章:
- 从C++实例化QML
- 为什么随机数生成器不在void函数中随机化数字,而在main函数中随机化
- 使用CMake创建QML插件
- 代码在main()中运行,但在函数中出现错误
- QT通过C++添加映射QML项目
- 如何在没有信号的情况下从C++执行QML插槽
- 当我在main中声明了我的2d数组时,为什么我的程序会退出
- QML按钮点击功能执行顺序
- QML:修改在不同QML文件(而非main.QML)中定义的子对象的属性
- 建议在运行时将带有类实例的列表从c++导入qml
- 不确定要在我的main中放入什么才能使我的代码正常工作
- Qt Quick-如何仅从c++代码与qml属性交互
- 函数是否可以访问传递给main()的参数
- 在main()之外初始化std::vector会导致性能下降(多线程)
- 如何将带有自定义对象的容器从C++传递到QML
- 我的 int main() 中出现堆栈溢出错误
- CMake,QT Quick & Visual Studio:"qrc:/main.qml:-1 File not found"
- QtQuick:QQmlApplicationEngine无法加载组件qrc:/main.qml:23附加对象分配无效
- (更新)QT QML 5.6 - 什么原因导致此警告"QApplication was not created in the main() thread"?
- QML 错误:未安装 qrc:/Main.qml:24 模块"system"