22

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

4

6 回答 6

81
-I<search path to include files>
-L<search path to the lib file>
-l<libname>
于 2011-05-16T11:42:29.287 回答
16

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

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

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

于 2011-05-16T11:42:37.383 回答
5

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

于 2011-05-16T11:47:09.507 回答
5

我要做的是:

pkg-config --list-all | grep indicator
于 2011-09-06T12:41:59.333 回答
5
gcc example.c -o example  `pkg-config --cflags --libs appindicator-0.1`

pkg-config 将获取所需的包含和库标志libappindicator及其依赖项。这假设libappindictaor-dev软件包已经安装。

于 2012-10-02T07:34:58.660 回答
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

于 2011-05-16T12:03:55.107 回答