web-dev-qa-db-ja.com

gccを使用して必要なCライブラリを含める方法は?

これから簡単なCの例をコンパイルしようとしています Tutorial Ubuntuでgccを使用しています。 #include <libappindicator/app-indicator.h>に必要なライブラリを含めるには、gccの引数として何を使用する必要がありますか?

15
multiholle

apt-getSynaptic Package Managerなどを使用してappindicatorライブラリを取得した場合(ソースからビルドする場合)、libappindicator1パッケージのみをインストールしたか、またはまたはlibappindicator-devをインストールしてlibappindicatorヘッダーファイルを取得しますか? Linuxパッケージでは、ランタイムライブラリをコンパイル時のヘッダーから分割することがよくあります。こうすることで、ダイナミックリンクを満たすためにライブラリのみを必要とするユーザーは、不要なヘッダーをインストールする必要がなくなります。ただし、開発を行っているため、これらのヘッダーが必要であり、そのためlibappindicator-devパッケージも必要です。

5
QuantumMechanic
-I <searchpath to include files>
-L <searchpath to the lib file>
-l<thelibname>
52
Kristofer

-lコマンドラインオプションを使用します。 -Lオプションを使用してライブラリ検索パスを指定できます。例えば:

gcc -o myprogram -lfoo -L/home/me/foo/lib myprogram.c

これにより、myprogramがフォルダーlibfoo.aの静的ライブラリ/home/me/foo/libにリンクされます。

13
Vijay Mathew
gcc example.c -o example  `pkg-config --cflags --libs appindicator-0.1`

pkg-configは、libappindicatorとその依存関係に必要なインクルードおよびlibフラグをフェッチします。これはlibappindictaor-devパッケージはすでにインストールされています。

5
lijo

私がしていることは:

pkg-config --list-all | grep indicator
4
hytromo

ここでしようとしているのは、gtkアプリを作成することです。上記の解決策は、-lオプションや-Iオプションを使用するなど、どこでも適用できます。

ただし、GTKアプリの場合、パスを事前定義できるため、pkg-configを使用して簡単にすることもできます。

http://www.freedesktop.org/wiki/Software/pkg-config

興味深い例がここにあります http://developer.gnome.org/gtk/2.24/gtk-compiling.html

1
manugupt1