トップページ -> コンピュータ -> Linux で開発環境やツールを整備 -> Linux で wxWidgets のビルドとインストール
[サイトマップへ]  

Linux で wxWidgets のビルドとインストール

サイト構成 連絡先,業績など 実践知識 コンピュータ 教材 サポートページ

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

※ Windows 上の Cygwin を使用しての wxWidgets のビルドとインストールについては別のページで説明している.

※ 関連Webページ: Linux で開発環境やツールを整備


wxWidgets に同封のデモ(demos/bombs, demos/fractal, demos/life, demos/poem の 4つ)

事前準備

前もって決めておく事項


wxWidgets のインストール

  1. wxWidget の Web ページを開く

    http://www.wxwidgets.org/

  2. ダウンロード用の Web ページを開くために,「Downloads」をクリックする.

  3. ソースコードをダウンロードするために,「wxAll」をクリックする.

  4. ダウンロードが始まる

  5. ダウンロードしたファイルを /tmp 下に置く.

  6. コンソールを起動

  7. コンパイルの準備

    コンソールで次の操作を行う.

    tar -xvzof wxWidgets-2.8.12.tar.gz
    cd wxWidgets-2.8.12
    ./configure --with-gtk
    

  8. ビルド

    コンソールで次の操作を行う.

    cd /tmp
    cd wxWidgets-2.8.12
    make 
    

  9. 動作テスト

    コンソールで次の操作を行う.

    cd samples/minimal
    make
    ./minimal
    

  10. インストール

    sudo make install
    sudo cp wx-config /usr/local/bin
    sudo chmod 755 /usr/local/bin/wx-config
    

    ※ インストール手順の詳細は,wxWidgets に同梱の INSTALL-MSW.txt を見てください.


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;
}