2014年9月14日 星期日

Linux下安裝&使用wxwidgets

Linux下安裝&使用wxwidgets


 


介紹:wxWidgets,wxgtk,gtk有什麼區別?


想像一下,GTK就相當於windows下的win32api,wxwidgets是一個跨平臺的東東,而win32api和gtk都是針對特定系統而言的。wxwidgets如果在windows下並且封裝了一些win32api那麼就叫做wxMSW,這個跟MFC有點像。wxwidgets如果在linux下並且封裝了相應的圖形庫的話,就有其他名字了,一般有三種:包裝了x11 的 wxX11, 包裝了motif的wxMotif和包裝了GTK的wxGTK, 其中可能是wxGTK最流行了。


所以呢,你要用widgets的話呢並且要跨平臺呢,就直接wxpython就行了,如果要到特定的linux下就用wxgtk


 


安裝方法1http://blog.dzasdever.net/2009/05/wxwidgets.html):


1、下载源代码


wxGTK-2.8.10.tar.gz 



2、解压



$ tar -xvzf wxGTK-2.8.10.tar.gz



3、进入目录



$ cd wxGTK-2.8.10



4、创建、进入编译目录



$ mkdir buildgtk

$ cd buildgtk



5、安装GTK2.0开发库



$ sudo apt-get install libgtk2.0-dev



6、配置、编译、安装



$ ../configure --with-gtk

$ make

$ sudo make install



7、动态库配置



$ sudo ldconfig



8、编辑测试程序 mytest.cpp


9、編譯、運行測試程式



$ g++ mytest.cpp `wx-config --libs --cxxflags` -o mytest


$ ./mytest



 


安裝方法2http://blog.csdn.net/yuzhenxiong0823/article/details/7727133):


wxWidgets在Linux下有wxGTK和wxX11供使用,各需要GTK和X11開發環境; 


wxWidgets在linux下有wxGTK和wxX11供使用,但是分別需要配置GTK和X11開發環境,開發環境配置如下:


X11的安裝(如果選擇使用wxX11):


apt-get install libx11-dev


GTK的安裝(如果選擇使用wxGTK):


apt-get install gnome-core-devel #這將安裝 libgtk2.0-dev libglib2.0-dev 等開發相關的庫文件


www.wxwidgets.org 裏下載wxGTK或wxX11,這就是wxWidgets的庫,下面是編譯方法,以wxGTK為例:


tar -zxf wxGTK-2.8.11.tar.gz


cd wxGTK-2.8.11


./configure


make


sudo make install


sudo ldconfig


輸入wx-config --cxxflags,檢查wxGTK是否正確配置安裝


如果能看到wx-config頭檔的路徑就說明已經配置成功了。


 


下面我舉個例子,說明下如何使用wx-config進行wxGTK程式的編譯


hello.cpp 內容如下:

#include "wx/wx.h"

class HelloWorldApp : public wxApp
{
public:
    virtual bool OnInit();
private:
    wxButton *button;
};


IMPLEMENT_APP(HelloWorldApp)

/* this is executed upon startup, like 'main()' in non-wxWidgets programs */

bool HelloWorldApp::OnInit()
{
    wxFrame *frame = new wxFrame((wxFrame*) NULL, -1, _T("Hello wxWidgets World"));
    frame->CreateStatusBar();
    frame->SetStatusText(_T("Hello World"));
    button = new wxButton((wxFrame *)frame, -2, _T("123"));
    frame->Show(TRUE);
    SetTopWindow(frame);

    return true;
}

執行編譯:
$(wx-config  --cxx)  hello.cpp  $(wx-config  --libs  --cxxflags)  -o  hello
執行程式:
./hello


就可以看到wxGTK的視窗了,感覺還可以的,我就不貼圖了,更關鍵的是,有了wx-config,makefile編寫也簡單了很多,我們可以在makefile通過執行shell來獲取包含檔和庫檔資訊,如我們可以在makefile的開頭這樣寫


cxx:=$(shell wx-config --cxx)


libs:=$(shell wx-config --libs)


cxxflags:=$(shell wx-config --cxxflags)


在後面可以直接使用cxx作為編譯器,用libs作為連接庫,用cxxflags作為包含庫使用了,不過用的時候別忘記使用$(cxx)、$(libs)和$(cxxflags),這樣makefile的編寫也簡單了很多。具體的makefile這裏就不寫了,還是相信你懂得。


 


安裝方法3(under Raspberry-pi):


01.開啟Pi Store + 搜尋Code::Blocks


02.$ sudo apt-get install libwxgtk2.8-dev



 




沒有留言:

張貼留言