DebianやUbuntuでwxWidgets+CodeLiteの開発環境を作る

クロスプラットフォームの開発環境として昔からあるものの1つが、wxWidgetです。最新の3.1.3は2019年10月リリースで、ちゃんと開発は継続しています。

DebianUbuntuの上で開発環境を作る方法を調べたのですが、古いものが多く、また前提条件も不明瞭で、やってみると苦戦します。なんとか、IDE(CodeLite)を含めて実行までたどり着けたので、メモしておきます。

環境

コンパイラを入れる

CodeLiteはコンパイラをもたないので、build-essentialを入れます。

sudo apt update
sudo apt install build-essential

wxWidgetを入れる

CodeLiteにはwxWidgetsも入ってないので、wxも入れます(入ってるとばかり思ってましたが、dpkg -L codeliteしたら、ありませんでした)。

ここでは、シンプルに公式リポジトリを使ってみました。

www.vivacocoa.jp

wx-config
# エラーメッセージから入れるべきパッケージをコピー
sudo apt install libwxbase3.0-dev libwxgtk3.0-dev libwxgtk3.0-gtk3-dev
# 参考ページではlibwxgtk3.0-devだけですが、一応3つやってみました。

CodeLiteを入れる

ここは公式の通りで。なお、これはwx3.1の場合です。

wiki.codelite.org

これでCodeLiteが「プログラミング」カテゴリに入ると思います。うまく起動できたら、「wxWidgets Executable」なプロジェクトを作り、動かしてみましょう。

(参考)

wiki.codelite.org

CodeLiteが起動できない場合

ターミナル上でcodeliteと打ってみましょう。私の場合は、libssh-4が足りなかったようです。

sudo apt install libssh-4

CodeLiteは動くがビルドしても何もしておらず、実行できない場合

私の場合は、必要なものを入れないでCodeLiteを先にインストールしてました。CodeLiteをアンインストールし、~/.configの下のCodeLite関連を削除するなどしたんですが、このケースは解決していません(VM上のことなので、作り直した方が早い状態です)。

CodeLiteが動きビルドもできているが、実行が変

プロジェクト下の実行ファイルを、ターミナル上から直接(「./sample」的に)叩いても実行できない場合は、あいにく分かりません。

ターミナルから実行できる場合は、CodeLiteの設定の問題です。私の場合は、プロジェクト設定から、「このプロジェクトはGUIアプリケーション」的な項目を探して、チェックを入れたら動きました。

まあ、最悪動かすのはターミナルでやってもいいんですが。