wxWidgetsの使い方 その3 Linuxで使う

投稿者: | 2016/12/4 日曜日

連載

その1
その2
その3

前回の続き。前回のプロジェクトをLinuxにもってきてビルドできるようにする。

環境

$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.1 LTS"
$ uname -a
Linux ebisu-virtual-machine 4.4.0-51-generic #72-Ubuntu SMP Thu Nov 24 18:29:17 UTC 2016 i686 athlon i686 GNU/Linux
ebisu@ebisu-virtual-machine:~$ gcc --version
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
$

インストール

公式からwxWidgets-3.0.2.tar.bz2をダウンロードして~/local/wxWidgets-3.0.2に展開。

wxWidgetsのビルド

$ mkdir -p ~/local/wxWidgets-3.0.2/mybuild/debug
$ cd ~/local/wxWidgets-3.0.2/mybuild/debug/
$ ../../configure --enable-unicode --enable-debug --disable-shared --prefix=`pwd`
Configured wxWidgets 3.0.2 for `i686-pc-linux-gnu'
 
  Which GUI toolkit should wxWidgets use?                 GTK+ 2 with support for GTK+ printing libnotify
  Should wxWidgets be compiled into single library?       no
  Should wxWidgets be linked as a shared library?         no
  Should wxWidgets support Unicode?                       yes (using wchar_t)
  What level of wxWidgets compatibility should be enabled?
                                       wxWidgets 2.6      no
                                       wxWidgets 2.8      yes
  Which libraries should wxWidgets use?
                                       STL                no
                                       jpeg               builtin
                                       png                sys
                                       regex              builtin
                                       tiff               builtin
                                       zlib               sys
                                       expat              sys
                                       libmspack          no
                                       sdl                no
 
 
$ make -j2

makeに-j2をつけると2つのプロセスでパラレルにやる。

次に同様にリリースをビルド

$ mkdir ~/local/wxWidgets-3.0.2/mybuild/release
$ cd ~/local/wxWidgets-3.0.2/mybuild/release/
$ ../../configure --enable-unicode --enable-debug --disable-shared --prefix=`pwd`
$ make -j2

eclipseでアプリをビルド

eclipseに渡す環境変数を登録するスクリプトを作成、起動も兼ねる。
~/local/wxWidgets-3.0.2/mybuild/cdtstartを以下で作成

#!/bin/sh
 
CPPFLAGSD=`~/local/wxWidgets-3.0.2/mybuild/debug/wx-config --cppflags`
export CPPFLAGSD
CPPFLAGSR=`~/local/wxWidgets-3.0.2/mybuild/release/wx-config --cppflags`
export CPPFLAGSR
 
WXLIBFLAGSD=`~/local/wxWidgets-3.0.2/mybuild/debug/wx-config --libs`
export WXLIBFLAGSD
WXLIBFLAGSR=`~/local/wxWidgets-3.0.2/mybuild/release/wx-config --libs`
export WXLIBFLAGSR
 
 
echo "CPPFLAGSD=$CPPFLAGSD"
echo "WXLIBFLAGSD=$WXLIBFLAGSD"
echo "----------------------------------------------------------"
echo "CPPFLAGSR=$CPPFLAGSR"
echo "WXLIBFLAGSR=$WXLIBFLAGSR"
 
 
read -r -p "Are you sure to launch eclipse? [y/N] " response
case $response in
    [yY][eE][sS]|[yY]) 
        /opt/eclipsecdt/eclipse > /dev/null 2>&1 &
        ;;
    *)
        ;;
esac

wx-configツールが使えるのでこれを使ってフラグなどを設定する。

起動してビルドして実行

$ cd/home/ebisu/local/wxWidgets-3.0.2/mybuild
$ chmod +x cdtstart
$ ./cdtstart

リリースバージョンを実行
screenshot_2016-12-04_00-13-29

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です