2014-08-27 45 views
1

我一直在使用完全用QML和Javascript函數實現的Qt Quick 2來開發應用程序。 (除了下面詳述的main.cpp)部署QML應用程序時未找到SQLite數據庫

對於模型,我一直在使用LocalStorage功能。我的應用在我的電腦上工作正常,並將其導出到其他電腦。在其他電腦上,應用程序啓動,但沒有任何dataBase功能正在工作。

然後我發現,對於localStorage的默認路徑是User\AppData\Local\MyAppName\QML\OfflineStorage\Databases

而且它可以用setOfflineStoragePath();

Main.cpp的改變:

int main(int argc, char *argv[]) { 
    QGuiApplication app(argc, argv); 

    QQmlApplicationEngine engine; 
    engine.load(QUrl(QStringLiteral("qrc:///main.qml"))); 
    engine.setOfflineStoragePath(QString("./")); 

    return app.exec(); 
} 

再次,這是在工作正常我計算機,但不會在其他計算機上產生任何結果。 (數據庫文件夾是在指定的路徑創建的,其中包含.sqlite和.ini文件)

我所看到的是,在其他計算機上,只有.ini似乎被創建,而且.sqlite

我會想到我的代碼中有錯誤,但是每次我直接從Qt創建者編譯我的項目(不管計算機)時,它都運行良好。

謝謝

PS:我使用的調試配置(而不是釋放)在編譯菜單(下左)

回答

2

雖然使用SQLite部署Qt應用程序,您必須部署在Qt5Sql.dll應用程序目錄和qsqlite.dll(可在插件目錄中找到。例如:Qt5.3.1 \ 5.3 \ mingw482_32 \ plugins \ sqldrivers)<app directory>/sqldrivers。這可能是解決您的問題的方法。從這個問題我不確定你是否這樣做。

+0

這是類似的東西,我有一些你描述的lib,但我只是粘貼一堆他們。真正部署QML應用程序是一團糟...... – Glukose 2014-08-28 07:15:28

相關問題