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

时间:2011-05-16 11:39:18

标签: c linux gcc indicator

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

6 个答案:

答案 0 :(得分:52)

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

答案 1 :(得分:13)

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

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

这会将myprogram与文件夹libfoo.a中的静态库/home/me/foo/lib相关联。

答案 2 :(得分:5)

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

答案 3 :(得分:4)

我的工作是:

pkg-config --list-all | grep indicator

答案 4 :(得分:4)

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

pkg-config将获取libappindicator及其依赖项所需的include和lib标志。这假定已经安装了libappindictaor-dev包。

答案 5 :(得分:1)

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

但是对于GTK应用程序,您也可以使用pkg-config,这样可以更轻松地预定路径

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

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