使用 "gcc $(pkg-config --cflags --libs glib-2.0) context.c" -> <galloca.h> 编译时出错,未找到



我试图用"gcc$(pkg配置--cflags-libs-glib-2.0("上下文。c.

但它不起作用,因为它找不到galoca头文件:

context.c:3:10:致命错误:galoca.h:找不到文件或目录#include<galoca.h>

我试过";gcc$(pkg配置--cflags-libs-glib-2.0 glib("galoca.h位于/usr/include/glib-2.0/glib。但在将glib添加到compile命令后,它甚至再也找不到glib.h,它位于/usr/include/glib-2.0中。

我试图将所有必要的路径添加到PKG_CONFIG_PATH;export PKG_CONFIG_PATH=/usr/include/glib-2.0/gio/pkgconfig";等等……都没有成功。

我还向/etc/ld.so.conf和sudo-ldconfig-v添加了所有必要的库路径,但也没有成功。

这不是我第一次遇到这样的问题,在编译时无法在这个系统上找到必要的库,但正如我们德国人所说:"我的拉丁语";,因此,我不知道如何解决这个问题,如果有任何帮助,我将不胜感激。

提前谢谢。

附言:我使用树莓派4B 8GB和树莓linux。

您的库路径不会帮助它找到包含文件。

也许你想要-I/usr/include/glib-2.0 -I/usr/include/glib-2.0/glib

也许您的构建脚本接受CFLAGS环境变量,您可以在其中放置此选项。

或者你可以更改(编辑(源代码,

#include <galloca.h>

成为

#include <glib/galloca.h>

因为它在/usr/include/glib-2.0中已经显示正确,只有子目录是错误的

之后,您会发现是否也必须为库设置一些路径。但一件接一件的事情,先编译,然后担心链接。你说的是ld.so.conf。实际上,这是针对运行时的,但好吧,在构建时,这是在尝试其他一切之后的最后一个选项(请参阅man ld并搜索ld.so.conf(。确实,对于构建时库路径,您希望-L选项可能带有LDFLAGS环境变量。但正如我所说,首先尝试编译,然后发现是否存在链接问题。

我们在伦敦的Latein,一定是Griechisch sprechen。

最新更新