2012-08-16 63 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

相关问题