Я пытаюсь использовать 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. Любые советы / идеи будут оценены.
Спасибо
Ну, это мой код, который отлично работает, и сравнивая его с вашим им-вызовом 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...
}