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
安裝方法1(http://blog.dzasdever.net/2009/05/wxwidgets.html):
1、下载源代码
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
安裝方法2(http://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