LinuxÏÂQTͼÐνçÃ濪·¢£¨Ò»£©——¸ÅÊö(1)
QtÊÇÒ»¸ö¿çƽ̨µÄC++ͼÐÎÓû§½çÃæ¿â,.ÓÉŲÍþTrollTech¹«Ë¾³öÆ·£¬Ä¿Ç°°üÀ¨Qt/X11£¬»ùÓÚFrambufferµÄQt Embedded,¿ìËÙ¿ª·¢¹¤¾ßQt Designer¼¸¹ú¼Ê»¯¹¤¾ßQt LinguistµÈ£®QtÖ§³ÖUnix¼°Linuxϵͳ,»¹Ö§³ÖWindows NT/Windows 2k¼°Qindows 95/98ƽ̨.QtµÄÁ¼ºÃ·â×°»úÖÆʹÆäÄ£¿é»¯³Ì¶È·Ç³£¸ß,¿ÉÖØÓÃÐԽϺÃ.
Qt/EmbededÊÇÃæÏòǶÈëʽϵͳµÄQt°æ±¾£¬ÊÇQtµÄǶÈëʽLinux´°¿Ú£¬ÊÇÍêÕûµÄ×Ô°üº¬C++ GUIºÍ»ùÓÚLinuxµÄǶÈëʽƷ̨¿ª·¢¹¤¾ß¡£Qt/Embeded¡¡API¿ÉÓÃÓÚ¶àÖÖ¿ª·¢ÏîÄ¿¡£Ðí¶à»ùÓÚQtµÄX¡¡Window³ÌÐò¿ÉÒԷdz£·½±ãµØÒÆÖ²µ½Ç¶Èëʽ°æ±¾¡£
ÏÂÃæÎÒÃǾʹÓʵ¼ÊÓ¦ÓÃÖÐÈÏʶQt.
¶þ¡¢ÔÚÖÕ¶ËϱàдQt³ÌÐò
ÎÒÃÇÏÈÒª½éÉÜÔÚÖն˴°¿Ú±àдQt³ÌÐò£®
´ò¿ªÒ»¸öÖնˣ¬½¨Á¢Ò»¸öÎļþ¼Ð£¬È磺mkdir hello
È»ºó½øÈëÕâ¸öÎļþ¼Ð£ºcd hello
´´½¨c++Îļþ£¬vi hello.cpp
ÔÚÎļþÖмüÈëÏÂÃæµÄ´úÂ룺
#include <qapplication.h>
#include <qlabel.h>
int main(int argc,char *argv[])
{
QApplication app(argc,argv);
QLabel *label=new QLabel("Hello Qt!",0);
app.setMainWidget(label);
label->show();
return app.exec();
}
È»ºóÎÒÃÇÓÃqtµÄ¹¤¾ßqmakeÀ´Éú³É¹¤³ÌÎļþ£º
qmake -project
´ó¼Ò¿ÉÒÔÓÃls²é¿´Ò»Ï£¬ÊDz»ÊǶàÁËÒ»¸öÃûΪhello.proµÄ¹¤³ÌÎļþ£®
½ÓÏÂÀ´ÊÇÉú³ÉMakefileÎļþ£º
qmake hello.pro
ºÇºÇ£¬lsһϣ¬MakefileÖÕÓÚ¿´µ½ÄãµÄ.
½ÓÏÂÀ´¾ÍÊÇmakeÁË£¬µÈÉÏÒ»¶Îʱ¼ä£®
ÔËÐгÌÐò./hello
ÏÂÃæÊǽçÃ棺
ÏÂÃæÎÒÃÇÀ´½²½âÉÏÃæµÄ³ÌÐò£º
#include <qapplication.h>
ÕâÒ»Ðаüº¬ÁËQApplicationÀàµÄ¶¨Òå¡£ÔÚÿһ¸öʹÓÃQtµÄÓ¦ÓóÌÐòÖж¼±ØÐëʹÓÃÒ»¸öQApplication¶ÔÏó¡£QApplication¹ÜÀíÁ˸÷ÖÖ¸÷ÑùµÄÓ¦ÓóÌÐòµÄ¹ã·º×ÊÔ´£¬±ÈÈçĬÈϵÄ×ÖÌåºÍ¹â±ê¡£
#include <qpushbutton.h>
ÕâÒ»Ðаüº¬ÁËQPushButtonÀàµÄ¶¨Òå¡£²Î¿¼ÎĵµµÄÎļþµÄ×îÉϲ¿·ÖÌáµ½ÁËʹÓÃÄĸöÀà¾Í±ØÐë°üº¬ÄĸöÍ·ÎļþµÄ˵Ã÷¡£
QPushButtonÊÇÒ»¸ö¾µäµÄͼÐÎÓû§½çÃæ°´Å¥£¬Óû§¿ÉÒÔ°´ÏÂÈ¥£¬Ò²¿ÉÒÔ·Å¿ª¡£Ëü¹ÜÀí×Ô¼ºµÄ¹Û¸Ð£¬¾ÍÏñÆäËüÿһ¸öQWidget¡£Ò»¸ö´°¿Ú²¿¼þ¾ÍÊ
Ïà¹ØÎĵµ£º
1.±àÒë°²×°libevent
2.±àÒë°²×°Memcached
ÔÚÎÒдÕâƪÎÄÕµÄʱºò£¬libeventÒѾÓÐ1.4.8Îȶ¨°æ
£¬Memcached ServerÒѾÓÐ1.3.0°æ±¾
¡£±¾ÎľÍÒÔÕâÁ½¸ö°æ±¾ÎªÀý£¬ÎÒµÄgccÊÇgcc version 3.3.4 (Debian 1:3.3.4-7)¡£
Ê×ÏÈ°²×°libevent
wget http://www.monkey.org/~provos/libevent-1.4.8-stable.tar.gz
tar zxvf libeven ......
ÒòΪѧϰÐèÒª£¬×î½üÓÃÉÏÁËubuntu 9.10.¿ÉÊÇÈ´·¢ÏÖqq for linux×ÜÊÇĪÃûÆäÃîµÄ×Ô¼ºÍ˳ö¡£½ñÌìÈÌÊܲ»ÁËÁË£¬ÉÏÍøÕҴ𰸡£ÔÀ´²»ÊÇÎÒÈËÆ·µÄÎÊÌâ¡£×îÖÕ´ÓÏÂÃæÕâÎÄÕÂÖÐÕÒµ½Á˽â¾ö·½·¨¡£
ÔÎÄÈçÏ£º
QQ¹Ù·½ÌṩµÄQQ For LinuxÔÚUbuntu
9.10Ï°²×°Ö®ºó£¬¾³£³öÏÖûÁļ¸¾äÌì¾Í»á×Ô¶¯Í˳öµÄbug£¬ÔÒòÊÇQQ For LinuxÓëUbunt ......
±¾ÈË°²×°µÄÊÇVmware 6.5¾«¼ò°æ£¬µ¼ÖºóÀ´ÎÒÏëÔÚÐéÄâ»úºÍWindowsÏ»¥´«²»ÁËÎļþ£¬·¢ÏÖÉÙÁËlinux.iso¾µÏñÎļþ¡£ÎÒÔÚÍøÉÏÕÒµ½²¢°ÑËü·Åµ½ÐéÄâ»úµÄ°²×°Ä¿Â¼Ï£¬È»ºóÆô¶¯ÐéÄâ»úϵÄlinux²Ù×÷ϵͳ£¬ÐéÄâ»ú--->ÉèÖ㬵¥»÷CD/DVD£¬Ñ¡ÔñʹÓÃISO¾µÏñ£¬Â·¾¶Ö¸Ïòlinux.iso,È»ºóÔÚ/mnt/cdromϾÍÓÐÁËvmware-t ......
½ñÌìѧϰÁËwrite ºÍread ,»¹ÓÐopen º¯Êý¡£×îÏÂÃæÊÇÎÒ×Ô¼ºÐ´µÄÒ»¸öС³ÌÐò£¬ÊìϤһϼ¸¸ö³ÌÐòµÄÓ¦Óá£
writeº¯ÊýÔÐÍÊÇsize_t write(fd, buf, size);ÆäÖÐfdÊÇÎļþÃèÊö·û£¬Ò²ÊÇ»º³åÇøÖеĶ«Î÷½«ÒªÐ´ÈëµÄµØ·½£¬°×»°Ò»µãÀ´Ëµ£¬fd¾ÍÊÇÒ»¸öÄ㽫Ҫ·Å¶«Î÷½øÈ¥µÄÈÝÆ÷µÄ±àºÅ¡£buf ¾ÍÊÇÄãËùÒª´æµÄ¶«Î÷µÄÀ´Ô´¡£size ²»ÓÃ˵£ ......