在阅读某些库的文档时,我看到某些库有一些功能,比如使用这些库编译程序更容易,只需在GCC参数中键入“-something
”而不是键入库的路径或使用pkg(... -- cflag --clibs
)。
如何获取当前安装在我系统上的库或软件包的“-something
”列表?
例如,OpenGL标志:
-lGLUT -lGL
当我使用软件包管理器安装新库时,它们肯定存储在GCC的配置文件中,或者GCC如何知道如何使用它们?
答案 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)