4

プログラムでファイルを圧縮するために LZMA SDK を使用しようとしています。SDK をダウンロードしましたが、使用方法がわかりません。これを機能させるために必要な手順を誰か教えてもらえますか? どんな助けでも大歓迎です

私は C および C++ の世界のほとんど初心者です

4

2 に答える 2

6

また、自分のプログラムの 1 つで 7zip を使用する必要があり、LZMA SDK が最初に予想したよりも少し難しいことがわかりました。そのため、ここで単純化された C++ ラッパーを開始しました。現在は Windows のみですが、それがあなたのプラットフォームである場合、役に立つかもしれません。

于 2011-04-05T19:28:57.287 に答える
4

SDK を機能させるには、この質問に対する一般的な回答として、次の3 つのことを行う必要があります。

  • #includeソースに適切なヘッダーを追加して、コンパイラが正しい関数を使用したことを確認し、リンカーが参照しているシンボルを認識できるようにします。
  • ヘッダー ファイルの場所をコンパイラに伝えます。を使用してgccでこれを行うことができますgcc -I/path/to/header/dir
  • コンパイルするライブラリの場所をリンカーに伝え、それらを含めるようにします。繰り返しになりますが、gcc を使用してこれを行い、 (小文字の l)gcc -L/path/to/library/dirを使用して特定のライブラリにリンクするように gcc (まあ、ld) に指示します。gcc -lnamewithoutlibprefix

/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++ もできることを知っています。

于 2010-03-21T00:20:57.003 に答える