在C ++中使用LZMA SDK

时间:2010-03-21 00:03:46

标签: c++ sdk compression 7zip lzma

我正在尝试使用LZMA SDK来压缩程序中的文件。我已下载SDK但我不知道如何使用它。谁能告诉我需要采取哪些步骤来完成这项工作?任何帮助都将受到高度赞赏

我几乎是C和C ++世界的新手

2 个答案:

答案 0 :(得分:6)

我还需要在我的一个程序中使用7zip,并发现LZMA SDK比我预期的更令人生畏。所以我为它开始了一个简化的C ++包装器,here。它目前仅限Windows,但如果这是您的平台,您可能会发现它很有用。

答案 1 :(得分:4)

作为使任何 sdk工作的问题的一般答案,您需要做三件事:

  • #include源代码中的相应标头,以便编译器可以检查您是否使用了正确的函数,并且链接器知道您正在引用哪些符号。
  • 告诉编译器头文件的位置。您可以使用gcc -I/path/to/header/dir
  • 使用gcc执行此操作
  • 告诉链接器要编译的库所在的位置并包含它们。再次,使用gcc,您使用gcc -L/path/to/library/dir执行此操作,并告诉gcc(well,ld)使用gcc -lnamewithoutlibprefix(小写l)链接到特定库。

作为库的一个例子,我对/ opt树使用了很多MPIR,我可能会这样编译:

gcc -I/opt/include -L/opt/lib -lmpir myprog.c -o myprog

这只是一个例子,非常适合Linux。事实上,MPIR安装在/ usr中,我不需要这样做,我只是在这里举例说明。

对于Windows,请查看cl /ILINK.EXE options

当然,您可以在许多不同的开发环境下自动执行此过程。例如,如果填写右侧对话框,Visual Studio将为您生成正确的命令行。所以我相信Eclipse和我也会知道Dev / C ++。