我想用cmake编译qml应用程序。 这里是我的cmake文件:使用cmake复制所有qt资源
cmake_minimum_required(VERSION 3.3)
project(QMLTest)
set(CMAKE_AUTOMOC ON)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
set(SOURCE_FILES main.cpp)
find_package(Qt5Widgets REQUIRED)
find_package(Qt5Quick REQUIRED)
add_executable(QMLTest main.cpp)
include_directories(${Qt5Widgets_INCLUDES})
add_definitions(${Qt5Widgets_DEFINITIONS})
qt5_use_modules(QMLTest Widgets Quick)
而且main.cpp中:
#include <QGuiApplication>
#include <QQuickView>
int main(int argc, char** argv)
{
QGuiApplication app(argc, argv);
QQuickView view;
view.resize(800, 480);
view.setResizeMode(QQuickView::SizeRootObjectToView);
view.setSource(QUrl::fromLocalFile("gui/MainWidnow.qml"));
view.show();
return app.exec();
}
当我尝试编译它,我得到一个错误:
gui/MainWidnow.qml: File not found.
我如何可以复制我所有的qt资源进入应用程序目录?
最后一行对我不起作用,因为QUrl会查找路径,如''path /:/gui/file.qml'''。将其更改为'view.setSource(QUrl(“qrc:/gui/MainWindow.qml”));'做了窍门 – DuKes0mE
@ DuKes0mE这很令人惊讶,因为根据[Qt文档](http://doc.qt .io/qt-5/resources.html)和我的经验是一样的。 – ajshort
您是否尝试过的Qt5QuickCompiler:http://doc.qt.io/QtQuickCompiler/qquickcompiler-building-with-cmake.html 一般你可以替换qtquick_compiler_add_resources(qt5_add_resources()看起来像),但我不知道如果AUTORCC足够聪明,可以自行处理。 – Atifm