gpt4 book ai didi

c++ - 使用 QuaZip 在 Mac 上提取 .app

转载 作者:行者123 更新时间:2023-11-30 01:26:03 25 4
gpt4 key购买 nike

我主要是尝试使用 QuaZip 从 zip 文件中提取 Mac 应用程序。我使用的代码是:

QuaZip zip("file.zip");
qDebug() << zip.open(QuaZip::mdUnzip);

QuaZipFile file(&zip);
QFile out("application.app");
out.open(QIODevice::WriteOnly);

for(bool f=zip.goToFirstFile(); f; f=zip.goToNextFile()) {
file.open(QIODevice::ReadOnly);
//same functionality as QIODevice::readData() -- data is a char*, maxSize is qint64
char c;
while (file.getChar(&c)) out.putChar(c);

file.close();
}

out.flush();
out.close();

zip.close();

如果我尝试启动提取的应用程序,我会收到一条错误消息,提示我“无法打开应用程序,因为经典环境不再受支持。”我试图使 .app 可执行,但它仍然不起作用。我不知道使用 Qt 提取应用程序的任何其他简单方法。

我用普通的归档器提取了它并且应用程序工作了。

最佳答案

我对 QuaZip 不是很熟悉,但看起来您似乎在尝试将整个存档提取到一个名为“application.app”的文件中,这是非常严重的错误。应用程序实际上是文件夹,而不是文件——Finder 只显示文件夹(名称以“.app”结尾),就好像它是单个文件一样。

如果您能找到一个使用 QuaZip 提取 ZIP 文件的示例,您应该能够使用大部分未修改的代码(除了 __MACOSX 元数据,可能)。

关于c++ - 使用 QuaZip 在 Mac 上提取 .app,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11249204/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com