ºìÁªLinuxÃÅ»§
Linux°ïÖú

ÓÃGtk+¿ª·¢LinuxÉϵÄGUIÓ¦ÓÃÈí¼þ

·¢²¼Ê±¼ä:2006-03-18 00:36:40À´Ô´:ºìÁª×÷Õß:µçÄÔ²©Ê¿
¡¡¡¡×÷ÕߣºÍõ¾°

Ò»°ãÒ»¸öÈÝÆ÷¹¹¼þÖ»ÄÜÈÝÄÉÒ»¸ö¹¹¼þ£¬Èç¹ûÒªÔÚÒ»¸öÈÝÆ÷¹¹¼þÖа²ÅŶà¸ö×Ó¹¹¼þ£¬¿ÉÏȽ«¶à¸ö×Ó¹¹¼þ·ÅÈëÒ»¸ö×éºÏ¿ò»ò×éºÏ±í¹¹¼þÄÚ£¬ÔÙ½«Õâ¸ö×éºÏ¿ò»ò×éºÏ±í¹¹¼þ·ÅÈë¸ÃÈÝÆ÷¹¹¼þ¡£

¡¡¡¡Ò»¡¢ÈçºÎ½¨Á¢Gtk+Ó¦ÓÃ

¡¡¡¡1.»ù±¾¸ÅÄî

¡¡¡¡ÔÚLinuxÉÏ¿ª·¢GUIÓ¦ÓÃÈí¼þ£¬ÎÒÃÇͨ³£ÀûÓÃGtk+¿â¡£ÎªÁËÉîÈëÁ˽âGtk+µÄÓ¦Óã¬ÎÒÃÇÊ×ÏÈÒªÃ÷È·¼¸¸ö¸ÅÄî¡£

¡¡¡¡£¨1£© ¹¹¼þ(widget)µÄ¸ÅÄî

¡¡¡¡ÔÚGtk+¿âÀïµÄ´°¿Ú¡¢Ñ¡µ¥ºÍ°´Å¥µÈÓ¦ÓÃʵÌ壬ÎÒÃdzÆ֮Ϊ¹¹¼þ£¨widget£©¡£¹¹¼þ¾ßÓÐÃæÏò¶ÔÏóµÄÌØÕ÷£¬Æä¾ßÌå½á¹¹ÓÉGtk+¿â¶¨Òå,Ëü¶ÔÔËÓù¹¼þµÄ³ÌÐòÔ±À´ËµÊÇ͸Ã÷µÄ,³ý·ÇÄãÏë´´½¨×Ô¼ºµÄ¹¹¼þ¡£ÔÚ¶Ô¹¹¼þ½øÐа²ÅÅʱ£¬ÎÒÃÇÖ»ÐèÒª¹ØÐĹ¹¼þµÄ´¦Àíº¯Êý£¬ÕâÑù×öµÄÄ¿µÄ¾ÍÊÇÒª¶ÔÓ¦ÓóÌÐòÔ±ÆÁ±Î¹¹¼þµÄϸ½Ú£¬Ê¹³ÌÐòÔ±½«¸ü¶àµÄ¾«Á¦¼¯ÖÐÔÚÓ¦Óù¦ÄÜÉÏ¡£

¡¡¡¡£¨2£© ÈÝÆ÷£¨container£©µÄ¸ÅÄî

¡¡¡¡¹¹¼þÖ÷Òª·ÖΪÁ½´óÀ࣬¼´ÈÝÆ÷Àࣨcontainer£©ºÍÔÓÀà(miscellaneous£©¡£´ó¶àÊý¹¹¼þÊôÈÝÆ÷À࣬ËüÃÇ¿ÉÒÔÏñÈÝÆ÷Ò»ÑùÈÝÄÉÆäËüµÄ¹¹¼þ¡£ÔÚ°²ÅŹ¹¼þʱ³£³£Òª×ñÑ­Ò»¸ö¹æÔò£º³ýÁË×éºÏ¿ò£¨box£©ºÍ×éºÏ±í£¨table£©ÕâÁ½ÖÖ¹¹¼þÍ⣬ÆäËüµÄÈÝÆ÷À๹¼þ¶¼Ö»ÄÜÈÝÄÉÒ»¸ö¹¹¼þ¡£ÔÓÀ๹¼þ±ÈÈÝÆ÷À๹¼þ¼òµ¥£¬µ«Ëü²»ÄÜÈÝÄÉÆäËü¹¹¼þ¡£

¡¡¡¡£¨3£© ÏûÏ¢¼°»Øºôº¯ÊýµÄ¸ÅÄî

¡¡¡¡³ÌÐò±ØÐëÄܶÔÓû§µÄ²Ù×÷×÷³ö·´Ó¦,ÔÚ»ùÓÚGUIµÄ³ÌÐòÉè¼ÆÖУ¬¡°ÏûÏ¢¡±»ò¡°Ðźš±ÊDZØÒªµÄ¡£Óû§µã»÷Ñ¡µ¥¡¢¸÷ÖÖ°´Å¥¡¢ÊäÈëÓû§Êý¾Ý¡¢²éѯÔËÐнá¹ûºÍÍÏ·Å£¬¶¼»á²úÉúÏûÏ¢»òÐźš£ÐźſÉÄÜÐèÒªÓÉÈí¼þÀ´¼ÓÒÔ´¦Àí£¬Õâʱ³ÌÐòÔ±¾ÍÐèÒª±àдÏûÏ¢»Øºôº¯Êý¡£ÏûÏ¢»òÐźŵĸÅÄîÀàËÆÓÚWindowsÖеÄʼþ¡£ÔÚGtk+Öо­³£²úÉú¸÷ÖÖÐźţ¬Óû§²úÉúµÄ´ó¶àÊýÐźű»ºöÂÔ£¬Ö»ÓгÌÐò¹ØÐĵÄÐźţ¬³ÌÐòÖвÅÓÐÏàÓ¦µÄ´¦Àíº¯Êý±»µ÷ÓᣳÌÐòÔ±ÒªµÇ¼ÇÐźÅÓë´¦Àíº¯ÊýÖ®¼äµÄ¹Øϵ£¬¸æËßGtk+ÄÄЩÐźŻòʼþÊdzÌÐòËù¹ØÐĵġ£

¡¡¡¡2. ¹¹¼þ£¨widget£©µÄÔËÓÃ

¡¡¡¡ÔÚµ÷ÓÃGtk+µÄ¹¹¼þʱ£¬Ò»°ã½øÐÐÈçϲÙ×÷²½Ö裺

¡¡¡¡£¨1£© °üº¬Ëùµ÷Óù¹¼þµÄÍ·Îļþ

¡¡¡¡Í·Îļþͨ³£´æ·ÅÔÚ/usr/include/gtk/Ŀ¼Ï£¬¸ÃÎļþÀïÓжԹ¹¼þµÄ¶¨Òå¼°¶Ô¹¹¼þµÄ²Ù×÷º¯Êý£¬ÔÚÎÒÃÇʹÓù¹¼þʱ£¬¿ÉÒÔ¾­³£ÔÚÕâ¸öĿ¼Ï²éÔĹ¹¼þº¯ÊýµÄµ÷Óøñʽ»ò²ÎÊý¡£ÎÒÃDz»±ØÈÃËùÓй¹¼þ°üº¬Í·Îļþ£¬ÒòΪ¹¹¼þµÄÍ·ÎļþÒÑ°üº¬ÔÚ¸ÃĿ¼ÏÂÒ»¸öÃûΪgtk.hµÄÎļþÀ°üº¬Õâ¸öÎļþ¾Í°üº¬ÁËËùÓй¹¼þµÄÍ·Îļþ¡£Ò»°ãϵͳ½«±àÒëµÄ°üº¬Ä¿Â¼Ö¸¶¨Îª/usr/include,ËùÒÔÎÒÃÇÖ»ÐèдÃ÷ include ¼´¿É¡£

¡¡¡¡£¨2£© ÉùÃ÷¹¹¼þ

¡¡¡¡ÉùÃ÷¹¹¼þµÄ¹ý³ÌÊÇΪÁË·ûºÏCÓïÑÔÖÐÏÈÉùÃ÷ºóʹÓõÄÔ­Ôò¡£Ò»°ãÔÚ³ÌÐò¿ªÊ¼ÒªÉùÃ÷¹¹¼þ½á¹¹µÄÖ¸Õ룬Õâ¾ÍΪ¹¹¼þ·ÖÅäÁ˵ØÖ·¡£

¡¡¡¡£¨3£© ¹¹¼þÖ¸ÕëµÄ³õʼ»¯

¡¡¡¡µ÷Óù¹¼þµÄ´´½¨º¯Êý£¬¶Ô¹¹¼þµÄÊôÐÔ½øÐе÷Õû£¨´óС¡¢Î»ÖúÍ״̬µÈ£©£¬½Ó×ÅÏÔʾ¹¹¼þ£¬ÕâÒ»µã²»ÄܺöÂÔ£¬Èç¹ûÖ»´´½¨Á˹¹¼þÈ´ÍüÁËÏÔʾ£¨gtk_widget_show£©£¬ÔÚÓ¦ÓÃʱ£¬Óû§¾Í²»ÄÜ¿´µ½¹¹¼þ£¬Ò²¾ÍÎÞ·¨¶Ô¹¹¼þ½øÐвÙ×÷ÁË¡£

¡¡¡¡£¨4£© °²ÅŹ¹¼þµÄλÖÃÓë²ã´Î¹Øϵ

¡¡¡¡¹¹¼þÖ®¼äÍùÍùÊÇÈÝÄÉÓë±»ÈÝÄɵĹØϵ£¬Ò²¾ÍÊÇ˵ÈÝÆ÷ÄÚ»¹ÓÐÈÝÆ÷£¬²ã²ãǶÌס£Òª¼Çסһ°ãÒ»¸öÈÝÆ÷¹¹¼þÖ»ÄÜÈÝÄÉÒ»¸ö¹¹¼þ£¬Èç¹ûÒªÔÚÒ»¸öÈÝÆ÷¹¹¼þÖа²ÅŶà¸ö×Ó¹¹¼þ£¬¿ÉÏȽ«¶à¸ö×Ó¹¹¼þ·ÅÈëÒ»¸ö×éºÏ¿ò»ò×éºÏ±í¹¹¼þÄÚ£¬ÔÙ½«Õâ¸ö×éºÏ¿ò»ò×éºÏ±í¹¹¼þ·ÅÈë¸ÃÈÝÆ÷¹¹¼þ¡£×¢Ò⸸ÈÝÆ÷¹¹¼þÒªÏÈÓÚ×ÓÈÝÆ÷¹¹¼þ´´½¨£¬¸¸ÈÝÆ÷¹¹¼þµÄÏÔʾҪÔÚ×ÓÈÝÆ÷¹¹¼þµÄÏÔʾ֮ºó¡£

¡¡¡¡£¨5£© ±àдʼþ´¦Àíº¯Êý

¡¡¡¡¹¹¼þµÄÍ·ÎļþÖж¨ÒåÁ˹¹¼þÄÜÏìÓ¦µÄʼþ£¨ÏûÏ¢£©£¬µ«²¢·ÇËùÓеÄÏûÏ¢ÔÚÓ¦ÓÃÖж¼ÊdzÌÐòËù¹ØÐĵģ¬¶ÔÓÚ³ÌÐòÓ¦µ±ÏìÓ¦µÄʼþ£¬³ÌÐòԱҪд³öʼþ´¦Àíº¯Êý¡£


¡¡¡¡¶þ¡¢Ó¦ÓþÙÀý


¡¡¡¡ÎªÁ˶ÔGtk+¿âµÄÓ¦ÓÃÓÐÒ»¸ö¾ßÌåµÄÈÏʶ£¬ÈÃÎÒÃÇÀ´¿´Ò»¸ö¼òµ¥µÄÓ¦ÓÃʵÀý¡£

¡¡¡¡1. ³õʼ»¯Gtk+

¡¡¡¡Ð´Gtk+³ÌÐòÐèÒªµ÷ÓÃgtk_initº¯Êý¶ÔGtk+¿â½øÐгõʼ»¯¡£ÎÒÃÇÊ×ÏȽ«Ó¦ÓóÌÐòµÄ±äÁ¿argcºÍargv´«µÝ¸øgtk_initº¯Êý£¬²¢¼ì²éÖ÷ÒªÓÃÓÚµ÷ÊÔµÄGtk+Ñ¡Ïî¡£Èç¹ûÔÚ±äÁ¿ÁбíÖгöÏÖÈκÎÕâÑùµÄGtk+²ÎÊý£¬¾Í½«ËüÒÆÈ¥¡£ÔÚÔËÐÐgtk_initº¯Êýºó£¬ËüÃDz»Ó¦¸Ã³öÏÖÔÚÓ¦ÓóÌÐòÖС£³õʼ»¯Gtk+µÄ´úÂëÈçÏ£º

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

¡¡¡¡2. ½¨Á¢¹¹¼þ

¡¡¡¡Ê×ÏÈÒª½¨Á¢µÄ¹¹¼þÊÇ´°¿Ú£¬ËüÊÇÓ¦ÓóÌÐòµÄ¶¥²ã¹¹¼þ£¬ÆäËü¹¹¼þÒ»°ã°²ÅÅÔÚ¶¥²ã´°¿ÚÖС£´°¿ÚÊÇGUI³ÌÐòµÄ»ù±¾¿ò¼Ü£¬ÔÚ´°¿ÚÀïÎÒÃÇ¿ÉÒÔΪÓû§°²ÅŸ÷ÖÖ·½±ãµÄÓ¦Óá£Ò»¸öÓ¦ÓÿÉÒÔÓÐÈô¸É¸ö´°¿Ú£¬ÕâЩ´°¿ÚÖ®¼ä¼ÈÏ໥¶ÀÁ¢£¬ÓÖÓвã´ÎµÄ¹Øϵ¡£´°¿ÚÓÐÏà¶Ô¹Ì¶¨µÄ·ç¸ñ£¬Ç°¾°É«¡¢±³¾°É«¡¢×ÖÌåºÍ×ֺŵȣ¬ÎÒÃÇÓ¦µ±±£³Ö¶¨ÖƵķç¸ñ£¬È·±£²»Ê¹Ó¦ÓÃÈí¼þÔÓÂÒ¡£

¡¡¡¡°´ÕÕÉÏÃæÌá³öµÄ¹¹¼þÔËÓò½Ö裬ÎÒÃÇ´´½¨Ò»¸ö³ÌÐòÖ÷´°¿Ú£º

¡¡¡¡/?ÉùÃ÷¹¹¼þÖ¸Õë?/

¡¡¡¡GtkWidget ?window;

¡¡¡¡/?´´½¨´°¿Ú£¬³õʼ»¯´°¿ÚÖ¸Õ룬½¨Á¢Ò»¸ö¶¥²ã´°¿Ú?/

¡¡¡¡window=gtk_window_new(GTK_WINDOW_TOPLEVEL);

¡¡¡¡/?ÏÔʾ¹¹¼þ?/

¡¡¡¡gtk_widget_show(window);

¡¡¡¡/?µÇ¼ÇÏûÏ¢ÓëÏûÏ¢´¦Àíº¯ÊýµÄ¹Øϵ?/

¡¡¡¡gtk_signal_connect(GTK_OBJECT(window),"delete_event",GTK_SIGNAL_FUNC(close_window),NULL);

¡¡¡¡3. ¹¹¼þÀàÐ͵Äת»»

¡¡¡¡ÓÉÓÚ½¨Á¢µÄ¹¹¼þÊÇͨÓù¹¼þ£¬ÐèÒª½«Ëüת»»Îª¾ßÌåµÄÀàÐÍÒÔÊʺϵ÷ÓøüΪרÓõĺ¯Êý¡£±ÈÈ罨Á¢°´Å¥¹¹¼þº¯Êý»á·µ»ØGtkWidget Ö¸Õ룬µ«ÊÇרÓõİ´Å¥×Ó³ÌÐòÒªÇó·µ»ØGtkButtonÖ¸Õ룬ËùÒÔÔÚµ÷ÓÃרÓõİ´Å¥º¯ÊýÒÔÇ°£¬ÐèҪʹÓÃGTK_BUTTONºê½«Í¨ÓõÄGtkWidgetÖ¸Õëת»»ÎªGtkButtonÖ¸Õ롣ͨ³££¬¹¹¼þÊÇÓÉÆäËü¹¹¼þÅÉÉúµÄ£¬´°¿Ú¹¹¼þ(GtkWindow)ÊÇÓÉÈÝÆ÷¹¹¼þGtkContainerÅÉÉúµÄ£¬¶øÈÝÆ÷¹¹¼þÊÇÓÉͨÓù¹¼þÅÉÉúµÄ¡£ÔÚGtk+ÖпÉÒÔ½«¹¹¼þÖ¸Õëת»»ÎªÆ丸Àà¡¢×æÏÈÀ๹¼þµÄÈÎÒâÀàÐÍ£¬È»ºóÔÙµ÷Óø¸Àà»ò×æÏÈÀ๹¼þµÄº¯Êý¡£

¡¡¡¡4. Gtk+µÄʼþÑ­»·

¡¡¡¡¶ÔGtk+½øÐгõʼ»¯²¢½«´°¿ÚµÈ¹¹¼þ°²ÅÅÔÚÆÁÄ»ÉÏÖ®ºó£¬Ó¦ÓÃÈí¼þÐèҪʹÓÃGtk+¿ªÊ¼Ö´ÐÐʼþµÄÑ­»·º¯Êýgtk_main()£¬Ã»ÓÐÕâ¸öº¯Êý£¬Ó¦ÓóÌÐòÔËÐÐʱ¾Í»áÒ»ÉÁ¼´ÊÅ¡£µ«ÊÇÔÚµ÷ÓÃgtk_main_quit()º¯Êý֮ǰ¶Ôgtk_main()º¯ÊýµÄµ÷Óò¢²»·µ»Ø£¬Ò²¾ÍÊÇ˵ֻÓÐgtk_main_quit()º¯Êý²ÅÄÜÍ£Ö¹Gtk+µÄÖ´ÐУ¬´Ó¶ø×îÖÕÍ˳öÓ¦ÓóÌÐò¡£ÎÒÃÇ°Ñgtk_main_quit()º¯Êý·ÅÔÚÏûÏ¢´¦Àíº¯Êýclose_window()Ö®ÖУ¬ÕâÑù£¬µ±Óû§µã»÷ÁË´°¿ÚµÄ¹Ø±Õ°´Å¥£¬Gtk+ÊÕµ½¡°delelte_event¡±ÏûÏ¢£¬È»ºóµ÷ÓÃclose_window(),Ö´ÐÐgtk_main_quit()º¯Êý£¬Õû¸ö³ÌÐò¼´¿ÉÍ˳ö¡£

¡¡¡¡5. ʵÀýÔ´´úÂë

¡¡¡¡ÏÖÔÚ´´½¨Ò»¸öÏÔʾ¡°hello¡±×ÖÑùµÄ¼òµ¥´°¿Ú³ÌÐò¡£Õû¸ö³ÌÐòʵÏÖ´úÂëÈçÏ£º

¡¡¡¡//hello.c

¡¡¡¡include

¡¡¡¡/?¹Ø±ÕÖ÷´°¿ÚÖеÄÏûÏ¢´¦Àíº¯Êý?/

¡¡¡¡close_window(GtkWidget ?window,gpointer data)

¡¡¡¡{

¡¡¡¡/?ÖÐÖ¹gtkʼþÑ­»·?/

¡¡¡¡gtk_main_quit();

¡¡¡¡}

¡¡¡¡/?Ö÷º¯Êý?/

¡¡¡¡main(int argc,char ?argv)

¡¡¡¡{/?ÉùÃ÷´°¿ÚºÍ±êÇ©Á½¸ö¹¹¼þ?/

¡¡¡¡GtkWidget ?window;

¡¡¡¡GtkWidget ?label;

¡¡¡¡/?³õʼ»¯Gtk+¿â?/

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

¡¡¡¡/?³õʼ»¯window¹¹¼þ?/

¡¡¡¡window=gtk_window_new(GTK_WINDOW_TOPLEVEL);

¡¡¡¡/?³õʼ»¯label¹¹¼þ?/

¡¡¡¡label=gtk_label_new("hello!");

¡¡¡¡/?½«±êÇ©·ÅÈë´°¿ÚÄÚ£¬º¯ÊýÄÚÓÃGTK_CONTAINERºê½«´°¿Ú¹¹?/

¡¡¡¡/?¼þµÄÖ¸ÕëÀàÐÍת»»ÎªÆ丸ÀàÈÝÆ÷¹¹¼þµÄÖ¸ÕëÀàÐÍ?/

¡¡¡¡gtk_container_add(GTK_CONTAINER(window),label);

¡¡¡¡/?ÏÔʾlabel¹¹¼þ?/

¡¡¡¡gtk_widget_show(label);

¡¡¡¡/?ÏÔʾwindow¹¹¼þ?/

¡¡¡¡gtk_widget_show(window);

¡¡¡¡/?µ±´°¿Ú»ñµÃ'delete_event'ÏûϢʱµ÷ÓÃclose_windwº¯Êý?/

¡¡¡¡gtk_signal_connect(GTK_OBJECT(window),"delete_event",

¡¡¡¡GTK_SIGNAL_FUNC(close_window),NULL);

¡¡¡¡/?gtkʼþÑ­»·?/

¡¡¡¡gtk_main();

¡¡¡¡}

¡¡¡¡6. ±àÒëÔ´´úÂë¼°ÔËÐгÌÐò

¡¡¡¡×îºó̸һÏÂGtk+ÔÚ³ÌÐò±àÒëºÍÔËÐÐʱÓÐÄÄЩÌرðÖ®´¦¡£ÔÚLinuxϵͳϵÄC±àÒëÆ÷,Èçgcc£¬ÒªÇó±àÒëʱÔÚ±àÒëÃüÁîºó¼ÓÉϸ÷ÖÖ²ÎÊý£¬Èç¹û²ÎÊýÌ«¸´ÔÓ£¬×îºÃ°ÑÃüÁîдÈëmakefileÎļþ¡£

¡¡¡¡Ç°ÃæÎÒÃǽ²¹ýÔÚÓ¦ÓóÌÐòÎļþÖÐÓõ½Gtk+º¯Êý»ò¶¨ÒåµÄÿһ²¿·Ö±ØÐë°üº¬gtk/gtk.hÎļþ£¬ËüÊÇGtk+µÄÖ÷Òª°üº¬Îļþ¡£´ËÍ⣬»¹±ØÐëÁ¬½ÓÈô¸É¿â¡£Gtk+µÄ¿ª·¢ÈËԱΪÎÒÃÇÌṩÁË·½±ã¡£Ê¹ÓÃgtk-config³ÌÐò¿ÉÒÔ¼ò»¯ÕâЩ¹¤×÷¡£±àÒëhello.cÔ´Îļþ³ÉΪ¿ÉÖ´ÐÐÎļþhelloµÄÃüÁîÈçÏ£º

¡¡¡¡gcc hello.c -o hello `gtk-config -cflags``gtk-config -libs`

¡¡¡¡×¢Ò⣬³ÌÐòÖÐÒ»¶¨ÊÇ·´ÒýºÅ£¨ÔÚ¼üÅÌÉÏλÓÚ×Ö·û1µÄ×ó±ß£©¡£`gtk-config`ʵ¼ÊÔËÐÐÁËgtk-config³ÌÐò£»²ÎÊý-cflagsÊä³ö±àÒë±êÖ¾£¬²¢½«ËüÃDzåÈëÃüÁîÐУ»²ÎÊý-libsÊä³öÁ¬½Ó±êÖ¾²¢²åÈëÃüÁîÐС£ÔÚGtk+ 1.2ÒÔÉÏ°æ±¾Öаüº¬gtk-config³ÌÐò¡£ÔÚLinuxµÄÃüÁîÐÐÌáʾ·ûºóÇÃÈë`gtk-config -cflags`ºÍ`gtk-config -libs`±íʾ¸øgcc ´«µÝ²ÎÊýµÄÕýÈ··½·¨¡£

¡¡¡¡ÓÃshellÃüÁî¡°chmod -777 hello¡±½«ÎļþhelloÉ趨ΪËùÓÐÓû§¶¼¿ÉÖ´ÐеÄÎļþ£¬ÔÙÓÃshellÃüÁî¡°./hello¡±Ö´ÐÐÕâ¸öÎļþ¡£

¡¡¡¡Èý¡¢Ð¡½á

¡¡¡¡±¾ÎĽöÌṩÁ˶ÔGtk+¿âÓ¦ÓõĻù±¾Ë¼Â·£¬¶ÔÓÚÏëÀûÓÃGtk+¿ª·¢LinuxÓ¦ÓõÄC³ÌÐòÔ±À´ËµÊÇÈëÃŵÄÒ»¿Î£¬ÉîÈëµÄÓ¦ÓúͿª·¢¼¼ÇÉÐèÒª¶ÁÕßÔÚ½ñºó²»¶ÏµÄʵ¼ùÖлñµÃ¡£
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 2 ÌõÆÀÂÛ

  1. yuquzou ÓÚ 2012-03-29 21:36:52·¢±í:

    ÊܽÌÁË

  2. linuxydy ÓÚ 2012-03-22 21:39:15·¢±í:

    sudo apt-get build-dep gedit