如何创建和加载GTK模块?

Sim*_*mme 8 gtk module

我想创建一个自定义GTK模块,当我启动GTK应用程序时应该加载它.

关于这个主题的文档是罕见的,我搜索了很多,但我没有让它运行.我在使用GTK3的Ubuntu Linux上尝试使用sofar:

  • 使用void gtk_module_init(gint *argc, gchar ***argv[])内部方法编译并链接共享库.据我所知,这应该足以创建一个简单的模块.完整代码:
#include <iostream>
#include <gtk/gtk.h>

void gtk_module_init(gint *argc, gchar ***argv[]) {
    std::cout << "huhu" << std::endl;
}
Run Code Online (Sandbox Code Playgroud)
  • 将此lib放入/usr/lib/x86_64-linux-gnu/gtk-3.0/modules/libtest-gtk-module.so
  • 试图启动这样的应用程序:gnomine --gtk-module=libtest-gtk-module.so但我得到的是:Gtk-Message: Failed to load module "libtest-gtk-module.so"

那么还有什么方法可以让GTK加载这个库?

提前谢谢了!

erg*_*sys 3

您需要让系统了解该库。对于系统目录中的库,以 root 身份运行 ldconfig 就足够了。看看这里的教程。

[编辑]

我按如下方式加载模块:

这是在 Mint LMDE 上,而不是 Ubuntu,但我认为这并不重要。