2012-08-16 60 views
0

我使用Simplecrypt加密和解密我的QT應用程序(C++)中的一些基本內容。 在Windows 7上,所有編譯都很好,並且像預期的那樣工作。 在Mac OS X山獅,在發射過程中的應用程序崩潰,出現以下錯誤:Simplecrypt讓我的QT應用程序在OS X Mountain Lion上崩潰,但在Windows上完美工作

ASSERT: "i >= 0 && i < size()" in file 
./../QtSDK/Desktop/Qt/4.8.1/gcc/include/QtCore/qbytearray.h, line 414 
The program has unexpectedly finished. 

它編譯,但預編譯器給了我關於OS X山獅一些錯誤。我不知道這是否與它有關:

../../QtSDK/Desktop/Qt/4.8.1/gcc/include/QtCore/qglobal.h:328:6: warning: #warning "This version of Mac OS X is unsupported" 

是否有可能使Simplecrypt在Mac OS X Mountain Lion上工作?

感謝您關注此事!

+0

該警告對我來說似乎很容易理解。似乎該計劃還不適合山獅。 – 2012-08-16 16:47:46

回答

0

關於ASSERT,它似乎是使用QByteArray時遇到的數組異常。

導致崩潰的代碼行是什麼?你有沒有嘗試去調試,看看會發生什麼?

預編譯過程中的警告僅表示Qt 4.8不支持MacOS X Mountain Lion,因此可能會發生一些錯誤和不需要的行爲。

+0

我使用的代碼如下:SimpleCrypt加密(Q_UINT64_C(0x0ca94c63e6ee6d));還有:crypto.decryptToString(loadSettings(「pwd」,「」)。 – 2012-08-16 16:44:06

+0

這很奇怪,當我再次編譯時,一切正常:D。當它再次發生時我會報告回來,因爲我沒有改變任何東西代碼... – 2012-08-16 16:52:50

+0

是否是'loadSettings'的返回類型?QByteArray或QString?如果它是QByteArray可能錯誤在這個函數中,你應該調試你的程序來檢查發生了什麼 – 2012-08-16 16:54:49

相關問題