在阅读一些库的文档时,我看到一些库有一些功能,比如使用这些库更容易地编译程序,只需在GCC参数中键入'-something‘,而不是输入库的路径或使用pkg (... -- cflag --clibs)。
如何获取当前安装在我的系统上的库或包的“-something”列表?
例如,OpenGL标志:-lGLUT -lGL
当我使用包管理器安装新的库时,它们肯定存储在GCC的配置文件中,或者GCC怎么知道如何使用它们?
发布于 2012-02-18 15:18:17
这些库不会存储在任何配置文件中。
如果您检查GCC link options,您将看到一个选项"-l“,用于选择要链接的库。该选项的作用是在指定路径中查找库。
如果您查看文件夹/usr/lib,您将看到许多名为/usr/lib/libgtkspell.so.0.0.0的文件。这适用于一个名为gtkspell的库。你使用-lgtkspell链接它,链接器会在搜索文件时自动添加其他部分。
无论是在编译(--cflags)还是链接(--libs)时,pkg-config应用程序都非常适合需要特殊的额外GCC标志的库。但pkg-config添加到编译/链接中的实际标志只是标准的GCC标志。
发布于 2012-02-19 00:04:11
我想知道这些标志,因为我不知道给pkg什么论据。但我发现了它是如何工作的:
在/usr/lib/pkgconfig中有我们需要的一切。只将其中一个文件放入参数+ --cflag和--clib。
(我不知道我应该查看/usr/lib/pkgconfig)
https://stackoverflow.com/questions/9338726
复制相似问题