gpt4 book ai didi

c++ - gnome 回退小程序 C++

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:00:51 25 4
gpt4 key购买 nike

我正在尝试创建一个面板小程序,但我卡在了第一步:我用 http://developer.gnome.org/panel-applet/3.0/getting-started.example.html 的官方示例中的代码创建了一个 file.cpp

#include <gtk/gtk.h>
#include <panel-applet.h>

static gboolean
hello_world_applet_start (PanelApplet *applet)
{
GtkWidget *label;

label = gtk_label_new ("Hello World");
gtk_container_add (GTK_CONTAINER (applet), label);
gtk_widget_show_all (GTK_WIDGET (applet));

return TRUE;
}

static gboolean
hello_world_factory_callback (PanelApplet *applet,
const gchar *iid,
gpointer data)
{
gboolean retval = FALSE;

if (g_strcmp0 (iid, "HelloWorldApplet") == 0)
retval = hello_world_applet_start (applet);

return retval;
}

PANEL_APPLET_OUT_PROCESS_FACTORY ("HelloWorldFactory",
PANEL_TYPE_APPLET,
hello_world_factory_callback,
NULL)

编译为

g++ -Wall -DGTK_DISABLE_SINGLE_INCLUDES -DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED -DGSEAL_ENABLE `pkg-config --cflags --libs gtk+-3.0 libpanelapplet-4.0` *.cpp -o helloworld

并复制到

/usr/lib/gnome-panel/helloworld

然后我创建了文件

/usr/share/gnome-panel/4.0/applets/helloworld.panel-applet

具有此内容:

[Applet Factory]
Id=HelloWorldFactory
InProcess=true
Location=/usr/lib/gnome-panel/helloworld
Name=Hello World Applet Factory
Description=Factory for the window navigation related applets

[HelloWorldApplet]
Name=Hello World
Description=Factory for the Hello World applet example
Icon=hello-world-icon

所有代码都取自文档,但是当我尝试将小程序添加到面板时出现此错误:

** (gnome-panel:24803): WARNING **: Failed to load applet HelloWorldFactory::HelloWorldApplet: /usr/lib/gnome-panel/helloworld: cannot dynamically load executable

怎么了??

最佳答案

您在代码中使用了 PANEL_APPLET_OUT_PROCESS_FACTORY 并将其描述为 InProcess=true

现在我意识到你的问题对我来说很熟悉,而你 already solved it .所以,我在这里链接解决方案,以便其他人也能找到答案。

关于c++ - gnome 回退小程序 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7435897/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com