在阅读有关某些库的文档时,我看到某些库具有某些功能,例如使用这些库更容易编译程序,只需-something
在 GCC 参数中键入“ ”,而不是键入库的路径或使用 pkg ( ... -- cflag --clibs
)。
如何获取-something
系统上当前安装的库或包的那些“”列表?
例如,OpenGL 标志:
-lGLUT -lGL
当我使用包管理器安装新库时,它们肯定存储在 GCC 的配置文件中,或者 GCC 怎么知道如何使用它们?
在阅读有关某些库的文档时,我看到某些库具有某些功能,例如使用这些库更容易编译程序,只需-something
在 GCC 参数中键入“ ”,而不是键入库的路径或使用 pkg ( ... -- cflag --clibs
)。
如何获取-something
系统上当前安装的库或包的那些“”列表?
例如,OpenGL 标志:
-lGLUT -lGL
当我使用包管理器安装新库时,它们肯定存储在 GCC 的配置文件中,或者 GCC 怎么知道如何使用它们?
这些库不存储在任何配置文件中。
如果您检查GCC 链接选项,您将看到一个选项“-l”,用于选择要链接的库。该选项的作用是在指定路径中查找库。
如果您查看该文件夹/usr/lib
,您会看到很多名为/usr/lib/libgtkspell.so.0.0.0
. 这适用于名为 gtkspell 的库。您使用 链接它-lgtkspell
,链接器会在搜索文件时自动添加其他部分。
该应用程序适用于在编译 ( ) 或链接 ( )pkg-config
时需要特殊额外 GCC 标志的库。但是添加到编译/链接的实际标志只是标准的 GCC 标志。--cflags
--libs
pkg-config
我想知道那些标志,因为我不知道给 pkg 什么论据。但我发现它是如何工作的:
在 /usr/lib/pkgconfig 中有我们需要的一切。仅将其中一个文件放入参数中,+ --cflag 和 --clib。
(我不知道我应该看/usr/lib/pkgconfig)