c - undefined reference ... 使用 gtk 图形

标签 c eclipse gtk3

我正在尝试在我最近制作的 c 程序上实现图形。我的老师推荐了这个链接:

https://developer.gnome.org/gtk-tutorial/2.22/c39.html

我已经在 Eclipse 中安装了 gtk-package - 我已经包含了相关路径,并且在编译之前乍一看一切似乎都很好。

 #include <gtk/gtk.h>


 int main( int argc,char *argv[] )
{
   GtkWidget *window;

   gtk_init (&argc, &argv);

   window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
   gtk_widget_show  (window);

   gtk_main ();

   return 0;
}

本教程中的这个小示例宏应该显示一个 200x200 像素的窗口。 但是编译时出现以下错误:

 C:\Documents and Settings\Ägaren\workspace\cGraphics1\Debug/../src/cGraphics1.c:19:  undefined reference to `gtk_init_abi_check'
 C:\Documents and Settings\Ägaren\workspace\cGraphics1\Debug/../src/cGraphics1.c:21: undefined reference to `gtk_window_new'
 C:\Documents and Settings\Ägaren\workspace\cGraphics1\Debug/../src/cGraphics1.c:22: undefined reference to `gtk_widget_show'
 C:\Documents and Settings\Ägaren\workspace\cGraphics1\Debug/../src/cGraphics1.c:24: undefined reference to `gtk_main'

所以问题是为什么我会收到这些错误?答案可能是我应该使用更多包含的头文件吗?如您所见,我只有一个包含。或者是不是我需要在编译时链接多个目标文件?在 Eclipse 中,编译参数列表如下所示:

 gcc -o cGraphics1.exe "src\\cGraphics1.o" 

最佳答案

问题是因为链接器找不到 gtk 依赖项来编译可执行文件。

看看这个https://developer.gnome.org/gtk3/unstable/gtk-compiling.html简单的帮助指南。

基本上鼓励您使用 pkg-config 来包含所有必需的库:pkg-config --cflags gtk+-3.0 我不确定如何让 eclipse 将其添加到每个命令中(这大致是库列表:-lgtk-3 -lgdk-3 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lpangocairo- 1.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0)

关于c - undefined reference ... 使用 gtk 图形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20862429/

相关文章:

c - 如何将第一个数组的值复制到另一个数组?

c - malloc 内存错误

linux - Eclipse Helios 无法加载玩具插件

java - 如何删除 eclipse rcp 应用程序中不需要的菜单贡献?

windows - 在 Windows 的 Haskell Platform 7.10.2a 上安装 GTK3

用于双字符串比较的 C case 语句

c - 在位数组中找到第一个零

java - 如何使用 openJDK11 运行 Eclipse?

gtk3 - 是否有特殊 Gtk CSS 属性的手册/列表?

python - 你如何在 Linux 中抓取选定的屏幕区域?