【问题标题】:How to build a sample project in gtk 3.0如何在 gtk 3.0 中构建示例项目
【发布时间】:2016-05-17 01:47:07
【问题描述】:

我刚开始在 Ubuntu 中使用 eclipse cdt 和 gtk 学习 C++ 编程。

我能够安装和配置的软件包是:

  1. 安装gtk3.0
  2. 从市场安装 pkg-config
  3. 在 Cross G++ 编译器中添加了 ${PKCFLAGS} 现在:${COMMAND} ${FLAGS} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}${PKCFLAGS}
  4. 在 Cross G++ 链接器中添加了 ${PKCFLAGS} 现在:${COMMAND} ${FLAGS} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}${PKCFLAGS}

我尝试运行一个示例程序:

#include <stdio.h>
#include <stdlib.h>
#include <gtk/gtk.h>

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

  gtk_init (&amp;amp;argc, &amp;amp;argv);

  window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
  gtk_window_set_title (GTK_WINDOW (window), &amp;quot;Window :-)&amp;quot;);

  g_signal_connect (window, &amp;quot;destroy&amp;quot;, G_CALLBACK (gtk_main_quit), NULL);

  gtk_widget_show (window);

  gtk_main ();

  return 0;
}

但我仍然收到错误“未解决的包含:”

【问题讨论】:

    标签: c++ eclipse gtk eclipse-cdt


    【解决方案1】:

    在终端中运行 pkg-config --cflags gtk+-3.0 并将输出放在eclipse设置中的“编译器标志”字段中。 跑 pkg-config --libs gtk+-3.0 并将此命令的输出放在“链接器标志”字段中。除非您真的在进行交叉编译,否则不要使用交叉编译器设置。只要你的代码是正确的,这应该可以编译。

    【讨论】:

      【解决方案2】:

      有两个问题,

      1. 我还需要在 C/C++ Build => 设置中添加 gtk+2.0
      2. 我没有注意到,但我附加的代码有几个问题 有一些奇怪的符号,我把它改成这样:

         #include <stdio.h>
         #include <stdlib.h>
         #include <gtk/gtk.h>
        

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

          gtk_init (&argc, &argv);
        
          window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
          gtk_window_set_title (GTK_WINDOW (window), "Hello world");
        
          g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL);
        
          gtk_widget_show (window);
        
          gtk_main ();
        
          return 0;
        

        }

      【讨论】:

      • 我认为他在输入问题时想使用 Gtk+-3.0。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-21
      • 2011-07-31
      • 2014-03-19
      相关资源
      最近更新 更多