我如何知道哪些标志可用于GCC更容易链接库?

时间:2012-02-18 05:01:26

标签: c gcc compiler-flags

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

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

例如,OpenGL标志: -lGLUT -lGL

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

2 个答案:

答案 0 :(得分:4)

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

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

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

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

答案 1 :(得分:0)

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

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

(我不知道我想看看/ usr / lib / pkgconfig)