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