連載
前回の続き。前回のプロジェクトをLinuxにもってきてビルドできるようにする。
環境
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
$ 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のビルド
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
$ 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つのプロセスでパラレルにやる。
次に同様にリリースをビルド
1 2 3 4 |
$ 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を以下で作成
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
#!/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ツールが使えるのでこれを使ってフラグなどを設定する。
起動してビルドして実行
1 2 3 |
$ cd/home/ebisu/local/wxWidgets-3.0.2/mybuild $ chmod +x cdtstart $ ./cdtstart |