Ubuntu环境下安装libglib2.0-dev后未生成指定GIR文件及Valac所需VAPI文件的问题
Hey,我之前折腾Vala和GLib的时候也碰到过一模一样的情况,给你几个实用的排查和解决方向:
先确认文件的默认存放位置,别找错地方啦
Ubuntu里GIR文件默认存在/usr/share/gir-1.0/目录下,你可以先跑这个命令检查有没有GLib的GIR文件:ls /usr/share/gir-1.0/GLib-2.0.gir
而Vala的VAPI文件通常在/usr/share/vala/vapi/,用ls /usr/share/vala/vapi/glib-2.0.vapi看看有没有。检查是否漏装了关键依赖包
光装libglib2.0-dev可能不够,GIR文件是由gobject-introspection这个包负责生成/提供的,而Vala的VAPI文件需要libvala-dev和vala-common来配套。赶紧补装试试:sudo apt update && sudo apt install gobject-introspection libvala-dev vala-common如果GIR存在但VAPI缺失,手动生成也很简单
要是已经找到GLib的GIR文件,直接用Vala的工具生成对应的VAPI:g-ir-compiler --output=glib-2.0.vapi /usr/share/gir-1.0/GLib-2.0.gir
生成后可以把它移到Vala的VAPI默认目录,方便全局调用:sudo mv glib-2.0.vapi /usr/share/vala/vapi/极端情况试试重装包,排除损坏问题
要是上面的方法都没用,可能是安装过程中包文件损坏了,彻底重装试试:sudo apt purge libglib2.0-dev gobject-introspection libvala-dev && sudo apt autoremove && sudo apt install libglib2.0-dev gobject-introspection libvala-dev
备注:内容来源于stack exchange,提问作者Ken Tedesco

