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

发布于 2024-11-07 15:45:49 字数 393 浏览 4 评论 0原文

我正在尝试从 本教程编译简单的 C 示例Ubuntu 上使用 GCC。我必须使用什么作为 GCC 的参数才能包含 #include 所需的库?

I am trying to compile the simple C example from this tutorial on Ubuntu using GCC. What do I have to use as arguments for GCC to include the needed libraries for #include <libappindicator/app-indicator.h>?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

北风几吹夏 2024-11-14 15:45:50

您正在尝试制作 GTK 应用程序,并且以前的解决方案适用于任何地方,例如使用-l 选项和 -I 选项,

但是,对于 GTK 应用程序,您可以还可以使用 pkg-config 这使它更容易正如你的道路可以被预定义。

一个有趣的例子可以在
http://developer.gnome.org/gtk/2.24/gtk-compiling。 html

You are trying to make a GTK app, and the previous solutions are as applicable anywhere like using the -l option and -I option,

However, for GTK applications, you may also use pkg-config which makes it easier as your paths can be predefined.

An interesting example can be found in
http://developer.gnome.org/gtk/2.24/gtk-compiling.html

初见终念 2024-11-14 15:45:50

ubuntu/linux 中所有 C++ 包含文件(如库文件和头文件)的默认路径位于 /usr/include/c++/11

The default path for all c++ include files like library files and header files in ubuntu/linux are found in /usr/include/c++/11

旧时光的容颜 2024-11-14 15:45:49
-I<search path to include files>
-L<search path to the lib file>
-l<libname>
-I<search path to include files>
-L<search path to the lib file>
-l<libname>
乜一 2024-11-14 15:45:49

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

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

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

Use the -l command line option. You can specify the library search path with the -L option. E.g:

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

This will link myprogram with the static library libfoo.a in the folder /home/me/foo/lib.

看海 2024-11-14 15:45:49

使用:

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

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

Use:

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

pkg-config will fetch the required include and library flags for libappindicator and its dependencies. This assumes libappindictaor-dev package is already installed.

乙白 2024-11-14 15:45:49

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

If you used apt-get, Synaptic Package Manager, etc. to get the appindicator library (vs. building it from source), did you only install the libappindicator1 package or did you also install libappindicator-dev to get the libappindicator header files? Linux packages very often have split the runtime libraries from the compile-time headers. That way people who only need the libraries to satisfy a dynamic link don't have to install unneeded headers. But since you're doing development you need those headers and therefore need the libappindicator-dev package as well.

疧_╮線 2024-11-14 15:45:49

我所做的是:

pkg-config --list-all | grep indicator

What I do is:

pkg-config --list-all | grep indicator
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文