C - linuxでAPIライブラリを使う方法

私はUnixのようなシステムに関しては本当に絶望的です。私はUbuntuシステムにオープンライブラリをダウンロードしようとしました。そのため、自分のCコードでその関数を使うことができました。しかし、今ではライブラリをダウンロードしたので、それは単に.cと.hファイルだけではありません。 Makefile.am、Makefile.inのようなファイルと、buildやconfigureのようなフォルダがあります。今、私はこのすべてをどうするかを考えようとしています。

あなた自身のプログラムに他の図書館を組み込んで使用する「通常の」方法は何ですか?

私は自分のプログラムをコンパイルするときにmakeコマンドを使って.aアーカイブファイルを作成することになっていますか? - このようなもの:

gcc myProgram.c theLibrary.a -o myProgram

またはmakeコマンドはすべての実行可能ファイルからのみ実行可能ファイルを作成し、自分のコードはまったく含まないでしょうか?

私はすでに他のファイルを無視しようとしたところ、プロジェクトに必要な.cと.hファイルをコピーしました。しかし、gccのコンパイル中に、ライブラリ内の.cファイルの1つに含まれるconfig.hファイルが見つからないという不満がありました。私は図書館全体を検索し、そのようなファイルはどこにも存在しません。

私は今失っているので、Googleで何を検索すればいいか分からない。誰かが正しい方向に私を向けることができたら、本当に感謝しています。

私が使用しようとしているすべてのライブラリで重要なのがlibmpdclientです。

0
指示を読んで。
追加された 著者 David Heffernan,

2 答え

通常、Linuxプログラム(または共有ライブラリ、または...)をダウンロードすると、ソースコードが取得され、自分でコンパイルすることが期待されます。通常は、次の3つのことがあります。

./configure
make
make install

make install にroot権限が必要な場合があります)。

共有ライブラリの場合、おそらく共有ライブラリファイルは/usr/lib (または/usr/local/lib など)ディレクトリにインストールされ、 gcc でコマンドラインで -l libname を実行することで、プログラムをコンパイルするときにリンクすることができます。

4
追加された

ダウンロードしたライブラリの最上位ディレクトリに README または INSTALL ファイルがありますか?はいの場合は、そこを見てください。

典型的な手順は ./configuremake 、必要に応じて make install あなたが上で述べたファイルについて調べることを検討する。

4
追加された
@Laph make は、プロジェクトに応じてソースコードをコンパイルし、実行可能なライブラリや共有ライブラリなどを生成します(通常は)。
追加された 著者 Seth Carnegie,
ああ、ありがとう!私は今、本当に馬鹿だと感じる。 READMEを何百回も見て、ちょうど私が見逃したことがあったかどうかを見ました。 INSTALLファイルに気づかなかった。しかし、makeコマンドの後にはどうなりますか?通常、最終結果は何ですか?
追加された 著者 Muuse,
ああ、おそらく共有ライブラリです。ありがとうございました
追加された 著者 Muuse,