zoukankan      html  css  js  c++  java
  • wxWidgets在LINUX下的安装和demos的编译

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

  • 相关阅读:
    常用语句
    html引入ECharts的两种方式
    最新版Navicate破解激活
    买路由器篇
    关于java8(Stream)的一些用法
    Mybatis联合查询记录,左连接参数操作
    海淘转运事宜记录
    mysql where语句多条件查询是and和or联合使用bug
    关于mysql中GROUP_CONCAT函数的使用
    关于MySQL存入的时间和取出时间不一致的解决
  • 原文地址:https://www.cnblogs.com/DLzhang/p/4637510.html
Copyright © 2011-2022 走看看