【发布时间】:2011-11-30 15:26:06
【问题描述】:
我需要在 Linux 和 Windows 上使用 C++ 以编程方式将多个文件归档到一个文件中(就像 tar 文件一样)。它不一定需要是 tar 文件,可以在两个操作系统上使用的任何压缩/未压缩文件格式都可以。有什么想法可以去哪里看?
【问题讨论】:
标签: c++ cross-platform zip tar compression
我需要在 Linux 和 Windows 上使用 C++ 以编程方式将多个文件归档到一个文件中(就像 tar 文件一样)。它不一定需要是 tar 文件,可以在两个操作系统上使用的任何压缩/未压缩文件格式都可以。有什么想法可以去哪里看?
【问题讨论】:
标签: c++ cross-platform zip tar compression
参见MiniZip库,一个纯C++跨平台Windows/linux。
【讨论】:
如果您可以使用 LGPL 许可证,请查看 http://sourceforge.net/projects/sevenzip/ 我不认为该程序的压缩部分与 Windows 紧密相关。因此,只需从中获取您需要的部分,它支持多种格式:7z、XZ、BZIP2、GZIP、TAR、ZIP、WIM、ARJ、CAB、CHM、CPIO、CramFS、DEB、DMG、FAT、HFS、ISO、 LZH、LZMA、MBR、MSI、NSIS、NTFS、RAR、RPM、SquashFS、UDF、VHD、WIM、XAR、Z。
【讨论】:
你可以看看zlib。查看该页面的“相关外部链接”部分,获取资源和 dll 的链接,以便在 Windows 上进行编译。
【讨论】:
libarchive 是一个适用于 Linux 和 Windows 的库。它可以在 Windows 中静态链接,并且一些 Linux 发行版已经安装了 libarchive 库
【讨论】:
Windows XP 具有内置的 zip 文件处理
在 *nix 上,您可以使用 zip 和 unzip
【讨论】: