2014-04-13 36 views
3

部署的Qt/QML應用我在做與QML使用的localStorage存儲一些信息的應用程序。 當我在調試模式下運行時,它工作正常。與localStorage的(SQLite的)在OS X

storage.js訪問數據庫就是這樣。

.import QtQuick.LocalStorage 2.0 as Sql 

// First, let's create a short helper function to get the database connection 
function getDatabase() { 
    return Sql.LocalStorage.openDatabaseSync("MyApp", "0.1", "StorageDatabase", 100000); 
} 

我的Qt .pro文件包含SQL模塊:

QT += sql 

而在第一時刻,它運行在發行模式或者罰款。

但是,當我嘗試部署在OSX上,運行macdeployqt這樣的:

macdeployqt MyApp.app -dmg -qmldir=../MyApp/qml/ 

首先,我得到了一個錯誤,但我覺得沒關係,因爲我不使用MySQL:錯誤:沒有文件在

"/opt/local/lib/mysql55/lib/libmysqlclient.18.dylib" 

我通過LocalStorage使用sqlite。

然後試圖在發行模式下運行它不工作了,對數據庫的訪問不能正常工作,甚至沒有在它的工作部署......現在,當我嘗試運行我得到了錯誤的應用:

storage.js:5: ReferenceError: Sql is not defined 

line 5是這一個:

return Sql.LocalStorage.openDatabaseSync("MyApp", "0.1", "StorageDatabase", 100000); 

和SQL名稱在第一線限定:

.import QtQuick.LocalStorage 2.0 as Sql 

在互聯網上尋找這個錯誤我發現一些地方告訴我做什麼,就像這裏:https://qt-project.org/forums/viewthread/28371

有關這方面的任何線索?

我使用Qt5.2,快速2.0,Qt Creator的3.01

+0

我可以說一些小事,但你可以檢查'.import'方法正確工作,'Sql'object開始正常嗎?爲此添加一些代碼並進行部署。你有MySQL作爲你的開發工具嗎? – Stoleg

+0

好吧,似乎是這樣,它在調試模式下工作正常,應該表明導入正常,對不對? 我沒有MySQL的,我使用SQLite作爲數據庫。 – danielfranca

回答