2015-11-05 126 views
1

我正在努力與自定義QML模塊。奇怪的是,這時候我建立並運行在Linux(Ubuntu的)完全正常工作,但是當我建立和運行在Windows上,我得到以下運行時錯誤QtQuick:模塊未安裝

模塊jbQuick.Charts未安裝。

我的根項目目錄包含一個文件夾qml/jbQuick/Charts,它包含qmldir和QML文件。該QML目錄在.pro文件補充說:

QML_IMPORT_PATH = qml

的QML目錄中的main.cpp文件補充說:

QQmlApplicationEngine engine; 
engine.addImportPath(QStringLiteral("jbQuick/Charts")); 
engine.addImportPath(QStringLiteral("qml")); 

在QML文件,我想使用的自定義模塊我說:

import jbQuick.Charts 1.0 

我錯過了什麼嗎?這是一個已知的問題?

回答

3

最可能的原因是相對路徑在Windows系統上的解釋不同 - 可能是因爲運行程序時的當前目錄不是您的項目根目錄。你可以嘗試絕對路徑,即:

engine.addImportPath("<your-project-root>/qml"); 

如果這樣的作品,你可以用GetModuleFileName創建相對於二進制的正確道路,在運行時。

+0

非常感謝,修好了! –

+0

也確保這個路徑是絕對的 - 我花了幾個小時找出qtcreator創建啓動編譯應用程序的新目錄,並且**不會**在那裏複製我的模塊(也稱爲jbQuick)。 –

+0

爲我工作就像一個魅力! –

1

qml folder複製到您的build folder爲我工作。