Build 如何自动使用/usr/include/glib-2.0而不是/usr/local/include/glib-2.0

Build 如何自动使用/usr/include/glib-2.0而不是/usr/local/include/glib-2.0,build,makefile,glib,Build,Makefile,Glib,我不确定这个变化是什么时候发生在我的系统上的,但我曾经能够构建一些使用/usr/include/glib-2.0的东西。但是现在我的构建由于glib而失败了,我注意到它正在使用另一个版本的/usr/local/include/glib-2.0 我如何让它使用/usr/lib而不是/usr/local/lib作为glib?我尝试删除/usr/local/include/glib-2.0和/usr/local/lib/glib-2.0,但它仍然尝试使用这些路径,但失败了。我找到的解决方案是下载gli

我不确定这个变化是什么时候发生在我的系统上的,但我曾经能够构建一些使用/usr/include/glib-2.0的东西。但是现在我的构建由于glib而失败了,我注意到它正在使用另一个版本的/usr/local/include/glib-2.0


我如何让它使用/usr/lib而不是/usr/local/lib作为glib?我尝试删除/usr/local/include/glib-2.0和/usr/local/lib/glib-2.0,但它仍然尝试使用这些路径,但失败了。

我找到的解决方案是下载glib源代码,构建并安装到/usr/local,然后运行“sudo make uninstall”。。。这是一种黑客行为,但它起了作用

在构建脚本中获得glib正确路径的最佳方法是使用pkg config工具获取gcc的标志。 例如
gcc$(pkg config--cflags glib-2.0)foo.c

如果您自己编译并安装了glib,并且没有更改前缀,那么pkg config的默认搜索路径中可能有
glib-2.0.pc
。您可以检查哪个
.pc
文件与
--debug
选项一起使用

或者,您可以检查
glib-2.0.pc
的内容,查看它是否具有正确的
前缀