我正在尝试使用 vala 在 11.10 中为 Unity 创建镜头。这是我的 daemon.vala:
using Dee;
using Gee;
namespace PidginLens
{
public class Daemon : GLib.Object, Unity.Activation
{
public static void main(string[] args)
{
}
}
}
valac --pkg gee-1.0 --pkg dee-1.0 --pkg unity
现在尝试编译
daemon.vala:6.40-6.55: error: The type name `Unity.Activation' could not be found
public class Daemon : GLib.Object, Unity.Activation
^^^^^^^^^^^^^^^^
Compilation failed: 1 error(s), 0 warning(s)
libunity4 libunity6 libunity-dev libunity-core-4.0.4 libunity-core-4.0-dev gir1.2-unity-4.0 都已安装,并且它显然找到了 unity 包(因为更改--pkg unity
为类似的--pkg unity-not-here
会产生另一个错误。那么我的错误是什么?为什么 Unity.Activation 不存在?
多谢你们!
答案1
从 Unity 4(Ubuntu 11.10)开始,Unity.Activation 接口已被删除。相反,您可以使用如下信号挂接到激活回调:
scope.activate_uri.connect(on_uri_activated);
如果您不覆盖激活处理,您可能只需要删除 Unity.Activation 并重新编译。
Unity 4(Ubuntu 11.10)的完整文档可以在这里查看:http://developer.ubuntu.com/api/ubuntu-11.10/c/Unity-4.0.html