我正在尝试使用 gcc 在 Ubuntu 上编译本教程中的简单 C 示例。我必须使用什么作为 gcc 的参数才能包含所需的库#include <libappindicator/app-indicator.h>
?
6 回答
-I<search path to include files>
-L<search path to the lib file>
-l<libname>
使用-l
命令行选项。-L
您可以使用该选项指定库搜索路径。例如:
gcc -o myprogram -lfoo -L/home/me/foo/lib myprogram.c
这将与文件夹中myprogram
的静态库链接。libfoo.a
/home/me/foo/lib
如果您使用apt-get
,Synaptic Package Manager
等来获取appindicator
库(而不是从源代码构建它),您是仅安装libappindicator1
包还是还安装libappindicator-dev
以获取libappindicator
头文件?Linux 包经常将运行时库从编译时头文件中分离出来。这样,只需要库来满足动态链接的人就不必安装不需要的标头。但是由于您正在进行开发,因此您需要这些标头,因此也需要该libappindicator-dev
包。
我要做的是:
pkg-config --list-all | grep indicator
gcc example.c -o example `pkg-config --cflags --libs appindicator-0.1`
pkg-config 将获取所需的包含和库标志libappindicator
及其依赖项。这假设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