wxWidgets
wxWidgetsæ¯ä¸ä¸ªç¨åºå¼åæ¡æ¶/åºï¼ å
è®¸ä½ å¨WindowsãMacãLinuxä¸ä½¿ç¨ç¸åç代ç 跨平å°å¼åãå®ä¸»è¦ç¨C++åæï¼ä½ä¹å¯ä»¥ä¸å
¶ä»è¯è¨ç»å®æ¯å¦PythonãPerlãRubyã
æ¬æç¨ä¸æå°åä½ å±ç¤ºå¦ä½å¨åºäºDebiançlinuxä¸å¦UbuntuåLinux Mintä¸ç¼è¯wxwidgets 3.0+ã
ä»æºç ç¼è¯wxWidgets并ä¸å°é¾ï¼ä»
ä»
éè¦å åéãåºå¯ä»¥æä¸åçæ¹å¼æ¥ç¼è¯ï¼æ¯å¦éææè
å¨æåºã
1. ä¸è½½ wxWidgets
第ä¸æ¥ä½ éè¦ä»wxwidgets.orgä¸è½½wxWidgetsæºç æ件ã
åå®åï¼è§£åå°ç®å½ã
2. 设置ç¼è¯ç¯å¢
è¦ç¼è¯wxwidgetsï¼æ们éè¦ä¸äºå·¥å
·å
æ¬C++ç¼è¯å¨ï¼å¨Linuxä¸æ¯g++ãææè¿äºå¯ä»¥éè¿apt-getå·¥å
·ä»ä»åºä¸å®è£
ã
æ们è¿éè¦wxWidgetsä¾èµçGTKå¼ååºã
$ sudo apt-get install libgtk-3-dev build-essential checkinstall
è¿ä¸ªå«åcheckinstallçå·¥å
·å
许æ们为wxwidgetså建ä¸ä¸ªå®è£
å
ï¼è¿æ ·ä¹åå°±å¯ä»¥è½»æ¾ç使ç¨å
管çå¨æ¥å¸è½½ã
3. ç¼è¯ wxWidgets
è¿å
¥å°wxWidgets解ååçç®å½ã为äºä¿ææ¸
æ´ï¼å建ä¸ä¸ªç¼è¯ç¨çç®å½ã
$ mkdir gtk-build
$ cd gtk-build/
ç°å¨è¿è¡configureåmakeå½ä»¤ãæ¯ä¸ªå°è±è´¹ä¸äºæ¶é´æ¥å®æã
$ ../configure --disable-shared --enable-unicode
$ make
"--disable-shared"é项å°ä¼ç¼è¯éæåºèä¸æ¯å¨æåºã
makeå½ä»¤å®æåï¼ç¼è¯å°±æåäºãæ¯æ¶åå®è£
wxWidgetså°æ£ç¡®çç®å½ã
æ´å¤ä¿¡æ¯è¯·åèinstall.txtåreadme.txtï¼è¿å¯å¨wxwidgetsä¸ç/docs/gtk/ç®å½ä¸æ¾å°ã
4. å®è£
checkinstall
ç°å¨æ们ä¸ä½¿ç¨"make install"å½ä»¤ï¼æ们使ç¨checkinstallå½ä»¤æ¥å建ä¸ä¸ªwxwidgetsçdebå®è£
å
ãè¿è¡å½ä»¤ï¼
$ sudo checkinstall
checkinstallä¼è¯¢é®å 个é®é¢ï¼è¯·ä¿è¯å¨æé®åæä¾ä¸ä¸ªçæ¬å·ï¼å¦åå°ä¼å¤±è´¥ã
å®æè¿ä¸ååï¼wxWidgetså°±å®è£
好äºï¼debæ件ä¹ä¼å建å¨ç¸åçç®å½ä¸ã
5. 追踪å®è£
çæ件
å¦æä½ æ³è¦æ£æ¥æ件å®è£
çä½ç½®ï¼ä½¿ç¨dpkgå½ä»¤åé¢è·ä¸checkinstallæä¾çå
åã
$ dpkg -L package_name
/.
/usr
/usr/local
/usr/local/lib
/usr/local/lib/libwx_baseu-3.0.a
/usr/local/lib/libwx_gtk3u_propgrid-3.0.a
/usr/local/lib/libwx_gtk3u_html-3.0.a
/usr/local/lib/libwxscintilla-3.0.a
/usr/local/lib/libwx_gtk3u_ribbon-3.0.a
/usr/local/lib/libwx_gtk3u_stc-3.0.a
/usr/local/lib/libwx_gtk3u_qa-3.0.a
/usr/local/lib/libwx_baseu_net-3.0.a
/usr/local/lib/libwxtiff-3.0.a
6. ç¼è¯ç¤ºä¾
ç¼è¯wxWidgetså®æåå°±å¯ä»¥é©¬ä¸ç¼è¯ç¤ºä¾ç¨åºäºãå¨ç¸åçç®å½ä¸ï¼ä¸ä¸ªæ°çsampleç®å½å·²ç»å建äºã
è¿å
¥å®å¹¶è¿è¡ä¸é¢çå½ä»¤
$ compile samples
$ cd samples/
$ make
makeå½ä»¤å®æåï¼è¿å
¥sample åç®å½ï¼è¿éå°±æä¸ä¸ªå¯ä»¥é©¬ä¸è¿è¡çDemoç¨åºäºã
7. ç¼è¯ä½ ç第ä¸ä¸ªç¨åº
ä½ å®æç¼è¯demoç¨åºåï¼å¯ä»¥åä½ èªå·±çç¨åºæ¥ç¼è¯äºãè¿ä¸ªä¹å¾ç®åã
åè®¾ä½ ç¨çæ¯C++ï¼è¿æ ·çè¯ä½ è¿å¯ä»¥ä½¿ç¨ç¼è¾å¨çé«äº®ç¹æ§ãæ¯å¦geditãkateãkwriteççãæè
ç¨å
¨åè½çIDEåGeanyãCodeliteãCodeblocksççã
ç¶èä½ ç第ä¸ä¸ªç¨åºåªéè¦ç¨ä¸ä¸ªææ¬ç¼è¾å¨æ¥å¿«éå®æã
å¦ä¸ï¼
#include<wx/wx.h>
classSimple:public wxFrame
{
public:
Simple(const wxString& title)
: wxFrame(NULL, wxID_ANY, title, wxDefaultPosition, wxSize(250,150))
{
Centre();
}
};
classMyApp:public wxApp
{
public:
boolOnInit()
{
Simple*simple =newSimple(wxT("Simple"));
simple->Show(true);
returntrue;
}
};
wxIMPLEMENT_APP(MyApp);
ç°å¨ä¿å并ç¨ä¸é¢çå½ä»¤ç¼è¯ã
# compile
$ g++ basic.cpp `wx-config --cxxflags --libs std`-o program
# run
$ ./program
温馨提示:答案为网友推荐,仅供参考