pkg-config目标在哪里定义?

问题描述:

当我执行命令pkg-config目标在哪里定义?

pkg-config --variable pc_path pkg-config 

输出是

的/ usr/lib64下/ pkgconfig:在/ usr /共享/ pkgconfig

然而,存在两个其他pkgconfig目录在我的系统上:/usr/lib/pkgconfig/usr/local/lib/pkgconfig

如果我尝试

echo $PKG_CONFIG_PATH 

结果是

未定义可变

我也试图

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig 

但反应是

export:找不到命令。

现在,我已经在多个场合的Gstreamer建成,它将把 元数据文件(GStreamer的-1.0.pc)到另一个文件夹pkgconfig(USR/local/lib目录/ pkgconfig)。 (我已经能够通过修改配置文件来解决这个问题,在libdir定义中将lib更改为lib64)。但是我宁愿理解我的系统,而不是尝试解决方法。

所以有两个问题:pkg-config程序在哪里获取目标目录?

为什么以及如何将元数据文件放入pkg-config程序没有明确指出的目录中?

+0

感谢@Grisha莱维特编辑我提出的问题不好。虽然我很欣赏为我提供解决方案的努力,但这两个答案都没有真正回答我的两个问题。 – jackson80

由于命令是不工作,因为该变量不存在 首先检查变量是否有或没有用于执行此操作的 执行命令 ENV 根@本地:/等/公寓#ENV 如果路径是在ENV 不申报则像做

根@本地:在/ etc /公寓#PKG_CONFIG_PATH =在/ usr/local/lib目录/ pkgconfig 根@本地:在/ etc /公寓#出口PKG_CONFIG_PATH 根@本地:/ etc/apt#echo $ PKG_CONFIG_PATH /usr/local/lib/pkgconfig root @ localhost:/ et C /易#ENV

希望这会为你工作 任何进一步的帮助,请与错误

+0

我发现我的命令导出没有工作,因为我使用tsch。如果我切换到bash,我可以使用导出。 – jackson80

发布查询,当您安装一个foo软件包,foo软件包有被安装在一个适当的foo.pc默认的pkgconfig目录。如果一个软件包将* .pc文件放在自定义位置,那么您应该相应地设置您的PKG_CONFIG_PATH。因此,pkg-config不仅会查看默认目录,还会查看您在PKG_CONFIG_PATH中指定的自定义路径。该指南解释得好:

pkg-config guide