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