【问题标题】:How to include needed C library using gcc?如何使用 gcc 包含所需的 C 库?
【发布时间】:2011-08-26 09:16:04
【问题描述】:

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

【问题讨论】:

    标签: c linux gcc indicator


    【解决方案1】:
    -I<search path to include files>
    -L<search path to the lib file>
    -l<libname>
    

    【讨论】:

    • 这应该是选择的答案
    • 确实@debuti ...此外,似乎可以省略I或L和searchpath之间的空格,并将它们放在一起:-I&lt;searchpath to include files&gt;跨度>
    【解决方案2】:

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

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

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

    【讨论】:

      【解决方案3】:

      我做的是:

      pkg-config --list-all | grep indicator
      

      【讨论】:

        【解决方案4】:
        gcc example.c -o example  `pkg-config --cflags --libs appindicator-0.1`
        

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

        【讨论】:

          【解决方案5】:

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

          【讨论】:

          【解决方案6】:

          您在这里尝试做的是制作一个 gtk 应用程序,上述解决方案在任何地方都适用 就像使用 -l 选项和 -I 选项一样,

          但是,对于 GTK 应用程序,您也可以使用 pkg-config,因为您的路径可以预定义,因此更容易

          http://www.freedesktop.org/wiki/Software/pkg-config

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2014-05-01
            • 1970-01-01
            • 1970-01-01
            • 2021-10-24
            • 2011-05-14
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多