wxWidgets のインストール(Ubuntu 上)

wxWidgets は、 GUI アプリケーションを簡単に書けるようにするための プログラム.Windows, UNIX, Mac 等で動く. wxWidgets には, GUI 機能,インラインヘルプ,ネットワークプログラミング,クリップボード, ドラッグアンドドロップ,マルチスレッド,画像のロードとセーブ, データベース,HTML閲覧と印刷等の機能がある.

URL: https://www.wxwidgets.org/

ソフトウェア等の利用条件は,利用者自身で確認下さい.

前準備

Ubuntu のシステム更新

Ubuntu で OS のシステム更新を行うときは, 端末で,次のコマンドを実行する.

Ubuntu のインストールは別ページ »で説明

sudo apt -y update
sudo apt -yV upgrade
sudo /sbin/shutdown -r now

C/C++ コンパイラー,make,パッケージツールのインストール

端末で,次のコマンドを実行する.

sudo apt -y update
sudo apt -y install build-essential gcc g++ make libtool texinfo dpkg-dev pkg-config

wxWidgets のインストール(ソースコードを使用)(Ubuntu 上)

◆ Ubuntu での操作手順例

  1. wxWidget の Web ページを開き,wxWidgets の利用条件,バージョンを確認する.

    http://www.wxwidgets.org/

  2. インストール
    cd /tmp
    rm -rf wxWidgets-3.1.3
    curl -O https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.3/wxWidgets-3.1.3.tar.bz2
    tar -xvjof wxWidgets-3.1.3.tar.bz2
    cd /tmp/wxWidgets-3.1.3
    ./configure --with-gtk --prefix=/usr/local
    make 
    sudo make install
    
  3. 動作テスト
    cd samples/minimal
    make
    ./minimal
    

ld.so.confの設定

スーパーユーザで、下記を実行

  1. /etc/ld.so.confに以下の行を追加
    -------------ここから-----------
    /usr/local/lib
    --------------ここまで---------
    
    次のようになる
  2. 「sudo /sbin/ldconfig」の実行
  • インストール
    sudo make install
    sudo cp wx-config /usr/local/bin
    sudo chmod 755 /usr/local/bin/wx-config
    

    wxWidget に付属の見本

    wxWidgets に付属の見本(contrib/samples/mmedia/mmboard.exe, contrib/samples/plot/plot.exe, contrib/samples/stc/stctest.exe, contrib/samples/svg/svgtest.exe) を実行してみる.

    (参考)サンプルプログラム

    参考にした Web ページ: http://www.h3.dion.ne.jp/~k5_n/wxwin/window/window.html(現存しない)

    wxWidgets の wxApp, wxFrame, wxMenu, wxMessageBox, wxFileDialogを使用.

    // プリコンパイルをサポートするコンパイラーのために
    #include "wx/wxprec.h"
    
    // プリコンパイルをサポートしないコンパイラーのために
    #ifndef WX_PRECOMP
        #include "wx/wx.h"
    #endif
    
    // 新しいアプリケーションの型を定義
    class MainApp : public wxApp
    {
    public:
        // この関数がアプリケーションのスタートポイント。
        virtual bool OnInit();
    };
    
    // 新しいアプリケーションオブジェクトを生成
    IMPLEMENT_APP(MainApp)
    
    
    //
    // これがメイン関数
    //
    
    bool MainApp::OnInit()
    {
     
        wxFrame *frame = new myFrame( /* parent */ NULL, /* Window ID */ -1, wxT("Window Title"), wxPoint( 480, 480 ), wxSize( 320, 200 ) );
        frame->show();
        SetTopWindow(frame);
    
    
        // 終わり
        return TRUE;
    }