首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GTK+ 3的VAPI问题

GTK+ 3的VAPI问题
EN

Stack Overflow用户
提问于 2011-06-18 05:57:15
回答 2查看 930关注 0票数 2

我正在尝试在ArchLinux上编译一些Vala,当我尝试包含gtk+-3.0包时,似乎也包含了GDK和GTK+ 2.0;valac --pkg gtk+-3.0 test.vala给出了以下错误:

代码语言:javascript
复制
gdk-2.0.vapi:8.3-8.28: error: `Gdk.Selection' already contains a definition for `convert'
    public static void convert (Gdk.Window requestor, Gdk.Atom selection,     Gdk.Atom target, uint32 time_);
    ^^^^^^^^^^^^^^^^^^^^^^^^^^
gdk-3.0.vapi:8.3-8.28: note: previous definition of `convert' was here
    public static void convert (Gdk.Window requestor, Gdk.Atom selection, Gdk.Atom target, uint32 time_);
    ^^^^^^^^^^^^^^^^^^^^^^^^^^
gdk-2.0.vapi:10.3-10.44: error: `Gdk.Selection' already contains a definition for `owner_get'
    public static unowned Gdk.Window owner_get (Gdk.Atom selection);
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
gdk-3.0.vapi:10.3-10.44: note: previous definition of `owner_get' was here
    public static unowned Gdk.Window owner_get (Gdk.Atom selection);
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
--snip--
Compilation failed: 942 error(s), 0 warning(s)

有没有什么方法可以指定不包含gtk+-2.0,或者让valac忽略这些错误?

EN

回答 2

Stack Overflow用户

发布于 2011-06-18 16:14:41

什么版本的vala?我担心这一定是你的发行版搞砸了。你能粘贴/usr/share/.../gtk+-3.0.deps的内容吗?

还可以尝试使用valac --verbose,这样就可以看到所有的vapis都被加载了。对于每个vapi,查看相对的.deps文件,并检查周围是否有GDK2.0。

票数 0
EN

Stack Overflow用户

发布于 2011-06-27 12:23:21

如果不能访问源代码或构建环境(假设您不仅仅是直接输入valac命令),就很难对此进行故障排除。使用非常简单的test.vala和Vala 0.12.1,它可以在我的系统上很好地构建。

在过去,我看到由于Vala的旧版本(及其支持文件)潜伏在周围,导致了糟糕的Vala环境。我建议完全卸载Vala 0.12.1,然后通过/usr检查是否有任何残留物。一种简单而彻底的方法(虽然耗时)是这样做的:

代码语言:javascript
复制
$ find /usr -name "*vala*"
$ find /usr -name "*.vapi"

删除任何明显不属于另一个包的内容。(请注意,有些包会安装自己的VAPI,如libgee。)然后重新安装Vala 0.12.1,看看问题是否仍然存在。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6392259

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档