首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在任何发行版上查找库和头文件的所有可能位置?

如何在任何发行版上查找库和头文件的所有可能位置?
EN

Unix & Linux用户
提问于 2021-09-13 15:13:13
回答 1查看 1.6K关注 0票数 0

我发现在不同的发行版上,库和头文件的位置非常不同。例如,在Fedora上有/usr/lib64/libbfd.a,而在Ubuntu上有/usr/lib/x86_64-linux-gnu/libbfd.a。或者在Fedora上有/usr/lib/gcc/x86_64-redhat-linux/10/include/stdatomic.h,而在Ubuntu上有/usr/lib/gcc/x86_64-linux-gnu/10/include/stdatomic.h

是否有一种方法可以知道您必须在哪些位置查找,而不必为每个发行版保留一个位置列表?

EN

回答 1

Unix & Linux用户

发布于 2021-09-13 15:20:49

您可以使用问C前处理器 (至少,对于GCC前面的任何驱动):

代码语言:javascript
复制
$ cpp -v /dev/null -o /dev/null
...
#include <...> search starts here:
 /usr/lib/gcc/x86_64-linux-gnu/10/include
 /usr/local/include
 /usr/include/x86_64-linux-gnu
 /usr/include
End of search list.
COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/10/:/usr/lib/gcc/x86_64-linux-gnu/10/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/10/:/usr/lib/gcc/x86_64-linux-gnu/
LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/10/:/usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/10/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/10/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-E' '-v' '-o' '/dev/null' '-mtune=generic' '-march=x86-64'

这给出了标题搜索路径(“#include <...>搜索从这里开始”和“搜索列表的结束”之间的条目)和库搜索路径(为LIBRARY_PATH提供的值)。

有些库提供pkg-config文件,您可以找到那些带有pkg-config --cflagspkg-config --libs的文件(具有库的名称)。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/668836

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档