4

我正在尝试使用 LZMA SDK 在我的程序中压缩文件。我已经下载了 SDK,但我不知道如何使用它。谁能告诉我需要采取哪些步骤才能完成这项工作?任何帮助将不胜感激

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

4

2 回答 2

6

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

于 2011-04-05T19:28:57.287 回答
4

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

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

作为一个我经常使用 MPIR 的库的示例,针对 /opt 树,我可能会像这样编译:

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++ 也可以。

于 2010-03-21T00:20:57.003 回答