Quazip выдает ошибку на Mac 10.9, Qt 5.4 и clang (64 бит)

Я пытаюсь использовать Quazip 0.7.1 (скомпилированный с Qt 5.4 на той же машине с использованием clang) в моем проекте Qt 5.4 для архивирования файлов в архиве. Код прекрасно работает в Windows, используя компилятор MSVC 2012, однако тот же код вылетает в Mac OSX с ошибкой QIODevice::open file access not specified, Ниже приведен фрагмент моего кода.

bool Utils::Archive(QList<QString> arrFiles, QString strFileName)
{
QFile zipFile(strFileName);
QuaZip zip(&zipFile);

// CODE CRASHES HERE
if(!zip.open(QuaZip::mdAppend))
{
qWarning("testCreate(): zip.open(): %d", zip.getZipError());
return false;
}

Код вылетает при вызове zip.open. Любые советы / идеи будут оценены.
Спасибо

0

Решение

Ну, это мой код, который отлично работает, и сравнивая его с вашим им-вызовом open на объекте Quazip перед файлом Quazip, возможно, попробуйте это так, как я сказал, что он работает для меня. Я использую mdCreate, но я уверен, что это работает и для mdappend

// Create new zip file to store the file.
auto zip_file(new QuaZip(file_path.string().c_str()));
if(zip_file->open(QuaZip::mdCreate))
{
QuaZipFile file(zip_file);

if(file.open(QIODevice::WriteOnly, QuaZipNewInfo("something.xml")) == false)
{
// Error
}
else
{
// Do stuff...
}
0

Другие решения


По вопросам рекламы [email protected]