【问题标题】:How can I know which flags are available for GCC to link library more easily?我怎样才能知道 GCC 可以使用哪些标志来更轻松地链接库?
【发布时间】:2012-02-18 05:01:25
【问题描述】:

在阅读有关某些库的文档时,我看到某些库具有某些功能,例如使用这些库更容易编译程序,只需在 GCC 参数中键入“-something”,而不是键入库的路径或使用 pkg (... -- cflag --clibs)。

如何获取当前安装在我系统上的库或软件包的“-something”列表?

例如,OpenGL 标志: -lGLUT -lGL

当我使用包管理器安装新库时,它们肯定存储在 GCC 的配置文件中,或者 GCC 怎么知道如何使用它们?

【问题讨论】:

    标签: c gcc compiler-flags


    【解决方案1】:

    这些库存储在任何配置文件中。

    如果您检查GCC link options,您将看到一个选项“-l”,用于选择要链接的库。该选项的作用是在指定路径中查找库。

    如果您查看文件夹/usr/lib,您会看到很多名为/usr/lib/libgtkspell.so.0.0.0 的文件。这适用于名为 gtkspell 的库。使用-lgtkspell链接,链接器会在搜索文件时自动添加其他部分。

    pkg-config 应用程序适用于在编译 (--cflags) 或链接 (--libs) 时需要特殊额外 GCC 标志的库。但是pkg-config 添加到编译/链接的实际标志只是标准的 GCC 标志。

    【讨论】:

      【解决方案2】:

      我想知道那些标志,因为我不知道给 pkg 什么论据。 但我发现它是如何工作的:

      在 /usr/lib/pkgconfig 中有我们需要的一切。仅将其中一个文件放入参数中,+ --cflag 和 --clib。

      (我不知道我应该查看 /usr/lib/pkgconfig)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-07-10
        • 2012-08-24
        • 1970-01-01
        • 1970-01-01
        • 2021-04-30
        • 2016-06-28
        • 1970-01-01
        相关资源
        最近更新 更多