如何使用gcc包含所需的C库?

我正在尝试使用gcc从Ubuntu上的这个教程中编译简单的C示例。 我必须使用什么作为参数为gcc包含#include <libappindicator/app-indicator.h>所需的库?

如果您使用apt-getSynaptic Package Manager等来获取appindicator库(与从源代码构建它),您只安装了libappindicator1软件包还是安装了libappindicator-dev来获取libappindicator头文件? Linux软件包经常会将运行时间库从编译时间头文件中分离出来。 这样,只需要库来满足动态链接的人就不必安装不需要的头文件。 但是由于你正在开发,你需要这些头文件,因此也需要libappindicator-dev包。

 -I <searchpath to include files> -L <searchpath to the lib file> -l<thelibname> 

使用-l命令行选项。 您可以使用-L选项指定库搜索路径。 例如:

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

这会将myprogram与静态库libfoo.a链接到/home/me/foo/lib文件夹中。

我所做的是:

 pkg-config --list-all | grep indicator 
 gcc example.c -o example `pkg-config --cflags --libs appindicator-0.1` 

pkg-config将为libappindicator和它的依赖项提取所需的include和lib标志。 这假定已经安装了libappindictaor-dev软件包。

你在这里要做的是制作一个gtk应用程序,上述解决方案适用于任何地方,如使用-l选项和-I选项,

但是,对于GTK应用程序,您也可以使用pkg-config,因为您的路径可以被预定义,所以更容易

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

一个有趣的例子可以在这里找到http://developer.gnome.org/gtk/2.24/gtk-compiling.html