gpt4 book ai didi

C++ 链接库的标志在哪里记录?

转载 作者:行者123 更新时间:2023-11-30 01:16:05 26 4
gpt4 key购买 nike

对于我想使用的每个新库,我都注意到有一个特定的标志或一组标志,我必须将其添加到编译中,以便它实际链接库。

例如,对于 GL GLEW 和 GLUT,我使用“-lglut -lGLU -lGL”。

问题是找到我需要的这些标志的唯一方法是在谷歌上无休止地搜索它们。是否有一个“标准”位置可以为任何图书馆找到这些标志?它们是附加到标题的顶部还是什么?我希望这只是我遗漏的一些明显的东西。

最佳答案

通常,您会培养一种直觉,以便在您开发的平台上发现这些东西。它确实很糟糕。

例如,在我的 Debian 开发系统上,我会首先检查 pkg-config 我想要的库。

pkg-config --list-all | less -i

看起来有一个名为 gl 的包。因此,您可以使用 pkg-config 获取链接器标志:

pkg-config --libs gl
pkg-config --cflags gl

然后您可以将其放入您的 Makefile 中:

gl_cflags := $(shell pkg-config --cflags gl)
gl_libs := $(shell pkg-config --libs gl)

override CFLAGS += $(gl_cflags)
override LIBS += $(gl_libs)

my_app: my_app.o
$(CC) $(LDFLAGS) -o $@ $^ (LIBS)

这不适用于所有库,仅适用于安装了 .pc 文件的库。例如,它不适用于 LibJPEG。在这些情况下,您要么记住标志 (-ljpeg),要么使用 Autoconf/CMake 等配置脚本在配置时发现标志。

而且,如果您没有安装库的开发版本,那么所有这些都将不起作用。

sudo apt-get install libgl1-mesa-dev

附言GLU 有点过时了。

关于C++ 链接库的标志在哪里记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27286600/

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