我想创建一个自定义 GTK 模块,当我启动 GTK 应用程序时应该加载该模块。
关于这个主题的文档很少,我搜索了很多,但我没有让它运行。我在带有 GTK3 的 Ubuntu Linux 上尝试过:
- 用里面的方法编译和链接一个共享库
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;
}
- 将此库放入 /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 加载这个库,还需要做什么呢?
提前谢谢了!