2012-01-17 13 views
4

私はLinuxシステムにpopplerをダウンロードしました。私はpdfファイルを解析するために私のアプリに組み込みたいと思っています。
(私の目標は、pdfファイルをプレーンテキストに変換することです)
どうすればいいですか?ソースからlibpopplerをビルドするにはどうすればいいですか?

+1

あなたは何を試しましたか?どのような形式の「ポップラー」をダウンロードしましたか?あなたはリリースを読んで、通知をインストールしましたか? –

+0

実際に必要なのは "pdftotext" – zxi

+1

'apt-cache search pdftotext'はDebianシステムに' poppler-utils'パッケージをインストールするよう提案しています。しかし、あなたはあなたのアプリケーションに組み込んでいません。 IMHO、*あなたのソフトウェアの中にライブラリを組み込むことは、そのライブラリを呼び出すこと、そしてそのライブラリとリンクすることを意味します。 –

答えて

1

Their websiteは非常に明確にそれを説明する:

にPopplerはgitのから入手可能です。リポジトリのクローンを作成し、次のコマンドを使用するには:あなたがソースコードをダウンロードしたら

git clone git://git.freedesktop.org/git/poppler/poppler 

を、それが言うINSTALLファイル読み:パッケージのソースを含むディレクトリへ

  1. cdをシステムのパッケージを構成するには ./configureと入力します。

  2. 「make」と入力してパッケージをコンパイルします。

  3. プログラムとデータファイルをインストールするには `make install 'と入力し、ドキュメントは と入力してください。

+0

' INSTALL'ファイルはデフォルトの自動生成された命令ですが、実際にはpopplerには適用されません。彼らのgitツリーには、autoconfの出力( 'configure'を含む)、autoconf/automakeの入力、cmakeの入力だけが含まれています。私はまだ何を実行するのか把握しようとしています。普通の './configure && make -j4 && sudo make install'はたぶんtarballリリースでは動作しますが、gitでは動作しません。 –

6

にPopplerののgitツリーがちょうど./configureを実行するように説明します役に立たないINSTALLドキュメントが含まれていますが、彼らはgitの中(のconfigureを含む)のautomake/autoconfの自動生成されたファイルが含まれていません。 (おそらく彼らはtarballのソースリリースに含めるください。)

そうのような(Ubuntuの15.04での)gitのソースからのIちょうど建てのpoppler:

git clone --depth 50 --no-single-branch git://git.freedesktop.org/git/poppler/poppler 
cmake -G 'Unix Makefiles' # other -G options are to generate project files for various IDEs 
# look at the output. If it didn't find some libraries, 
# install them with your package manager and re-run cmake 
make -j4 
# optionally: 
sudo make install 

彼らがautoconfの/ automakeをビルド設定を維持することが表示されますそのOR cmakeを使用してMakefileを作成することができます。

最新のgit popplerがディストリパッケージよりもうまく動作するかどうかだけを確認したい場合は、sudo make installは必要ありません。utils/pdftotextなどのソースディレクトリから実行することができます。これは、ライブラリ検索パスとしてバイナリにビルドパスを埋め込むようにリンカに指示するので、/usr/local/src/poppler/utils/pdftotextを実行すると、/usr/local/src/poppler/libpoppler.so.52が見つかります。

最新のポップラーがディストリビューションのポップラーよりもうまく動作する場合は/usr/local/binにインストールし、sudo make installとする必要があります。あなたのディストリビューションの次のバージョンにアップグレードするときは、/ usr/localを確認してください。多くの場合、新しいディストリビューションのバージョンはソースからビルドしたバージョンより新しいので、バージョンを/usr/local/{bin,share,lib,man,include}から削除するだけです。 (またはサポートされている場合はソースディレクトリ内にmake uninstall)。

+1

ありがとうございます。私はこれが古いことを認識していますが、受け入れられた答えは、INSTALL情報が間違っていて本当に役に立ちません。あなたが書いたようにcmakeが本当に必要です。依然として依存関係に取り組んでいますが、これが私の仕事になりました。私はcmakeの新生児ですので、私は押さえが必要でした。 – Linwood

関連する問題