Ubuntu下wxWidgets的安装与配置

Post date: 2012/4/3 上午 05:37:40

wxWidgets在Linux下有wxGTK和wxX11供使用,各需要GTK和X11开发环境;

wxWidgets在linux下有wxGTK和wxX11供使用,但是分别需要配置GTK和X11开发环境,开发环境配置如下:

X11的安装(如果选择使用wxX11):

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这里就不写了,还是相信你懂得。

apt-get install libx11-dev