gpt4 book ai didi

C 识别 -l 标志的库名称?

转载 作者:行者123 更新时间:2023-11-30 16:38:27 25 4
gpt4 key购买 nike

当包含 gcc 库(-l 或小写 -L)时,我如何知道要放入特定头文件的该参数中的库名称?

一个例子(但我正在寻找一个更通用的答案):

我的 c 文件(名为 doSomething.c)可能有:

#include <libv4l2.h>
...
...

我的 gcc 语句如下所示:

gcc -o doSomething doSomething.c -lv4l2

在这种情况下,我知道我需要包含库 v4l2,如果我不知道是否有找到该名称的通用方法?

如有任何帮助,我们将不胜感激

谢谢

最佳答案

向您提供该库的任何人都应该告诉您它的名称。通常,这是含糊的、暗示的、隐藏在文档中或留给约定的。

首先,您可以使用文件系统中的完整路径将任何库传递给链接器,例如/usr/lib/libfoo.so 或 ~myaccount/mystuff/bar.a。

链接器有一个内置的标准位置列表来查找库,因此您可以省略路径的目录部分,只命名文件,例如 libfoo.so。您还可以使用 -L 开关将目录添加到此列表(对于 POSIX 和其他系统上的常见链接器)。

如果文件名的形式为 libfoo.a 或链接器识别的其他扩展名,则可以使用 -lfoo 缩写它。

因此,如果该库安装在具有标准名称的标准位置,您可以将其与 -lfoo 链接,并且供应商或其他供应商应该告诉您foo 是。

如果该库是安装在您的系统上的软件包的一部分,但不是系统的标准部分,您可以询问系统管理员其名称是什么,如果它不在标准位置,他们安装它的地方。

关于C 识别 -l 标志的库名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47482040/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com