如何在Visual Studio 2012上配置gtk + 2.24

时间:2014-05-18 16:13:30

标签: c visual-studio-2010 visual-studio-2012 gtk development-environment

如何在Visual Studio 2012上配置GTK + 2.24?我认为在Visual Studio 2010(How to configure gtk on Visual studio 2010)上执行配置GTK + 2.24所需的步骤就足够了。

#include <gtk-2.0\gtk\gtk.h>

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

   gtk_init(&argc, &argv);

   gtk_widget_set_usize(window, 300, 200);

   g_signal_connect(G_OBJECT(window), "destroy", G_CALLBACK(gtk_main_quit), NULL);   
   gtk_window_set_title(GTK_WINDOW(window), "GTK+ with VS2010");

   gtk_widget_show(window);     

   gtk_main();   
   return 0;
}

我错了,因为即使我能够构建之前提到的链接中提供的那个简单项目(我稍微编辑它以满足C的视觉工作室要求,以便在任何操作之前声明所有变量),我仍然无法启动它 - 窗口没有出现,我不得不使用任务管理器杀死我的程序,因为它消耗了100%的处理器时间。我还能从这里构建和启动简单的窗口项目:http://zetcode.com/tutorials/gtktutorial/firstprograms/

代码:

 #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), "Center");
  gtk_window_set_default_size(GTK_WINDOW(window), 230, 150);
  gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
  gtk_widget_show(window);

  g_signal_connect_swapped(G_OBJECT(window), "destroy",
  G_CALLBACK(gtk_main_quit), NULL);

  gtk_main();

  return 0;
 }

这一个很好。

请注意标题:#include <gtk-2.0\gtk\gtk.h>#include <gtk/gtk.h>。前者属于gtk + 2,而后者属于gtk + 1.2。

如何配置我的Visual Studio 2012以便它可以启动gtk + 2.24?

1 个答案:

答案 0 :(得分:1)

使用标题#include <gtk/gtk.h>。预处理器会自动找到它。 如果您使用Zetcode的程序,编译器没有任何问题。只是标题。 此外,如果它不能以某种方式工作,请恢复到原始标题并删除

  gtk_widget_set_usize(window, 300, 200); <<(edit) deprecated later on

相反,请使用:

  gtk_window_set_default_size ( GTK_WINDOW (window), 400, 200 );

编辑:

我没有仔细阅读。我的错。用新创建的GtkWindow交换gtk_init()之间的位置。如果没有init,Gtk就不会处理任何事情