我想用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