编译 gtkmm 时出现问题

2023-12-26

操作系统:Fedora 14

编译器:g++ (GCC) 4.5.1 20100924(红帽 4.5.1-4)

我通过 yum 从存储库安装了 gtkmm24-devel。为了确保安装按计划进行,我决定尝试页面上的示例之一。

#include <gtkmm.h>

int main(int argc, char *argv[]) {
    Gtk::Main kit(argc, argv);
    Gtk::Window window;
    Gtk::Main::run(window);
    return 0;
}

我运行了这个例子,嘿!它说找不到gtkmm.h,没问题,我只是忘了链接库。我通过 Eclipse 将 /usr/include/gtkmm-2.4 添加到我的库搜索中。不行,g++还是找不到!

fatal error: gtkmm.h: No such file or directory

然后我尝试使用包含 gtkmm#include <gtkmm-2.4/gtkmm.h>重新编译,又报错! :(

/usr/include/gtkmm-2.4/gtkmm.h:87:20: fatal error: glibmm.h: No such file or directory

谢谢阅读。


简短回答

使用“pkg-config gtkmm-2.4 --cflags”的输出作为包含路径,使用“pkg-config gtkmm-2.4 --libs”的输出作为要链接的库。

长答案

它说找不到gtkmm.h,没问题,我只是忘了链接库。

构建 C/C++ 程序分两个单独的步骤完成。首先编译源文件,输出目标文件;然后目标文件链接在一起。您收到的错误来自编译步骤。

在 Linux 上,大多数库都附带 pkgconfig 文件,以便其他程序更轻松地使用这些库。 gtkmm 还带有它自己的 pkgconfig 文件。

您正在尝试手动指定 /usr/include/gtkmm-2.4 作为包含路径;这是错误的。相反,使用 pkgconfig 的输出来确定头文件的位置。要获取 gtkmm 所需的所有包含目录,请使用以下命令:

pkg-config gtkmm-2.4 --cflags

对于链接,请使用以下 pkgconfig 命令获取需要链接的库:

pkg-config gtkmm-2.4 --libs

您可以通过直接调用 g++ 在命令行上进行测试。

g++ myfirstprogram.cpp -o myfirstprogram `pkg-config gtkmm-2.4 --cflags --libs`

有关更多信息,请参阅 gtkmm 文档:http://library.gnome.org/devel/gtkmm-tutorial/unstable/sec-basics-simple-example.html.en http://library.gnome.org/devel/gtkmm-tutorial/unstable/sec-basics-simple-example.html.en

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

编译 gtkmm 时出现问题 的相关文章

随机推荐