2011-11-12 4 views
0

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

自分のプログラムに他のライブラリを組み込んで使用する「通常の」方法は何ですか?

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

gccのmyProgram.c theLibrary.a -o MYPROGRAM

またはmakeコマンドのみすべての外に実行可能ファイルを作成し、全く私のコードが含まれていないでしょうか?

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

私は今や失われています。私はGoogleで何を検索するかわかりません。誰かが正しい方向に私を向けることができたら、本当に感謝しています。

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

+0

説明書をお読みください。 –

答えて

4

通常、Linuxプログラム(または共有ライブラリなど)をダウンロードすると、ソースコードが取得され、自分でコンパイルすることが予想されます。 (make installは、root権限が必要な場合があります)

./configure 
make 
make install 

:通常、あなたがすべてでは、次の三つです。あなたはgccとコマンドラインで-l libnameを実行して、プログラムをコンパイルするときに、それをリンクできるように、共有ライブラリの場合は

は、おそらく今、共有ライブラリファイルは、あなたの /usr/lib(または /usr/local/libまたは任意)ディレクトリにインストールされています。

4

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

典型的な手順は./configure、次にmake、そして場合によってはmake installとなりますが、ライブラリに依存関係やその他の問題があり、上記のファイルについて調べることができます。

+0

ああ、ありがとう!私は今、本当に馬鹿だと感じる。 READMEを何百回も見て、ちょうど私が見逃したことがあったかどうかを見ました。 INSTALLファイルに気づかなかった。しかし、makeコマンドの後にはどうなりますか?通常、最終結果は何ですか? – Muuse

+0

@Laph 'make'は、プロジェクトに応じてソースコードをコンパイルし(通常は)、実行可能なライブラリや共有ライブラリなどを生成します。 –

+0

ああ、この場合はおそらく共有ライブラリです。ありがとうございました – Muuse

関連する問題