براي نصب gtk در ويندوز ابتدا كتابخانه gtk براي نصب در ويندوز را از ادرس زير دانلود و نصب كنيدhttp://sourceforge.net/project/showf...d=111411حال براي پيكربندي ان براي استفاده در ويژوال استديو 2005 كار هاي زير را انجام دهيديك تكست فايل ايجاد كنيد و كدهاي زير را در ان بنويسيد و به نام و پسوند زير ذخيره كنيد gtk+_debug.vspropsكد: ?xml version= 1.0 encoding= Windows-1252 ? VisualStudioPropertySheet ProjectType= Visual C++ Version= 8.00 Name= gtk+ debug Tool Name= VCCLCompilerTool Optimization= 0 AdditionalIncludeDirectories= $(INCLUDE) RuntimeLibrary= 3 StructMemberAlignment= 4 AssemblerOutput= 0 DebugInformationFormat= 4 / Tool Name= VCLinkerTool AdditionalDependencies= art_lgpl_2.lib asprintf.lib atk-1.0.lib bz2.lib cairo.lib charset.lib croco-0.6.lib fontconfig.lib freetype.lib gdk_pixbuf-2.0.lib gdkglext-win32-1.0.lib gdk-win32-2.0.lib glade-2.0.lib glib-2.0.lib gmodule-2.0.lib gobject-2.0.lib gsf-1.lib gsf-win32-1.lib gthread-2.0.lib gtkglext-win32-1.0.lib gtk-win32-2.0.lib iconv.lib intl.lib jpeg.lib pango-1.0.lib pangocairo-1.0.lib pangoft2-1.0.lib pangowin32-1.0.lib png.lib popt.lib rsvg-2.lib tiff.lib xml2.lib z.lib AdditionalLibraryDirectories= $(LIB) GenerateDebugInformation= true AssemblyDebug= 1 GenerateMapFile= false SubSystem= 1 OptimizeForWindows98= 1 / /VisualStudioPropertySheet يك تكست فايل ديگر ايجاد كنيد و كدهاي زير را در ان بنويسيد و به نام و پسوند زير ذخيره كنيدgtk+_release.vspropsكد: ?xml version= 1.0 encoding= Windows-1252 ? VisualStudioPropertySheet ProjectType= Visual C++ Version= 8.00 Name= gtk+ release Tool Name= VCCLCompilerTool Optimization= 2 FavorSizeOrSpeed= 1 AdditionalIncludeDirectories= $(INCLUDE) RuntimeLibrary= 2 StructMemberAlignment= 4 AssemblerOutput= 0 / Tool Name= VCLinkerTool AdditionalDependencies= art_lgpl_2.lib asprintf.lib atk-1.0.lib bz2.lib cairo.lib charset.lib croco-0.6.lib fontconfig.lib freetype.lib gdk_pixbuf-2.0.lib gdkglext-win32-1.0.lib gdk-win32-2.0.lib glade-2.0.lib glib-2.0.lib gmodule-2.0.lib gobject-2.0.lib gsf-1.lib gsf-win32-1.lib gthread-2.0.lib gtkglext-win32-1.0.lib gtk-win32-2.0.lib iconv.lib intl.lib jpeg.lib pango-1.0.lib pangocairo-1.0.lib pangoft2-1.0.lib pangowin32-1.0.lib png.lib popt.lib rsvg-2.lib tiff.lib xml2.lib z.lib AdditionalLibraryDirectories= $(LIB) GenerateDebugInformation= false AssemblyDebug= 0 GenerateMapFile= false SubSystem= 2 OptimizeForWindows98= 1 / /VisualStudioPropertySheet حال در vc يك پروژه تحت كنسول ايجاد كنيد و در مسير زير اين دو فايلي كه ساختيد به پروژه اضافه كنيدView - Other Windows - Property Managerتمام شد همين!! حالا كدها زير را هميشه قبل از ايجاد هر برنامه به پروژه خود اضافه كنيدكد:/* Windows Specific Code */ #ifdef G_OS_WIN32 #include windows.h int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { return main (__argc, __argv); } #endifبراي نمونه اين هم يه برنامه:كد:#include gtk/gtk.h static void hello( GtkWidget *widget, gpointer data ) { g_print ( Hello Worldn , data); } static gboolean delete_event( GtkWidget *widget, GdkEvent *event, gpointer data ) { g_print ( delete event occurredn ); return FALSE; } static void destroy( GtkWidget *widget, gpointer data ) { gtk_main_quit (); } int main( int argc, char *argv[] ) { GtkWidget *window; GtkWidget *button; gtk_init ( argc, argv); window = gtk_window_new (GTK_WINDOW_TOPLEVEL); g_signal_connect (G_OBJECT (window), delete_event , G_CALLBACK (delete_event), NULL); g_signal_connect (G_OBJECT (window), destroy , G_CALLBACK (destroy), NULL); gtk_container_set_border_width (GTK_CONTAINER (window), 10); button = gtk_button_new_with_label ( Hello World ); g_signal_connect (G_OBJECT (button), clicked , G_CALLBACK (hello), NULL); gtk_container_add (GTK_CONTAINER (window), button); gtk_widget_show (button); gtk_widget_show (window); gtk_main (); return 0; } /* Windows Specific Code */ #ifdef G_OS_WIN32 #include windows.h int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { return main (__argc, __argv); } #endifاز اين به بعد شما مي تونيد يك برنامه بنويسيد و در دو محيط ويندوز و لينوكس استفاده كنيد فقط بايد كد خودتون رو دوبار كامپايل كنيد استفاده از gtk در ويندوز براي ايجاد پروژه هاي GUI تنها يك ضرر داره اون هم اين هست كه سرعتش نسبت به API هاي ويندوز كمتر هستببخشيد دوستان يه سوالي داشتم برنامه هايي كه براي رابط گرافيكي از gtk استفاده مي كنن ديگه براي اجرا تو ويستا مشكلي نبايد داشته باشن درسته؟؟ من خودم ويستا ندارم گفتم دوستان يه امتحاني بكنن ببينن چي ميشه