2018-02-08  C/C++ プログラミング Linux

GTK+アプリケーションをLinuxでビルドする

以前の記事 Windows MinGW GCC をインストールして GTK+アプリケーションを作成する方法を紹介しました。今回は その時に使ったソースコードをそのまま Linux でビルドしてみます。使用する Linux ディストリビューションは Ubuntu 17.10 です。

ソースコード

GTK+アプリケーションのサンプルソースコードは以下の構成になっています。

以下のリンクからサンプルコードを ZIP 形式でダウンロードできます。

何も準備せずにビルドしてみる

ソースコード一式を Ubuntu Linux へコピーして make コマンドを実行してみます。

sample-gtkmmをビルドする(1回目)
$ make The program 'make' can be found in the following packages: * make * make-guile Try: sudo apt install <selected package>

make コマンドがインストールされていないためビルドすることはできませんでしたが 以下のメッセージが表示されました。

日本語訳
プログラム 'make' は以下のパッケージにあります。 * make * make-guile 試して: sudo apt install <選択したパッケージ>

どのパッケージをインストールすれば make コマンドが使えるようになるのか教えてくれるんですね。これは便利です。

必要なコマンドをインストールする

不足している make パッケージをインストールしていきましょう。

makeパッケージをインストールするコマンド
$ sudo apt install make

他にも g++ pkg-config が必要になるので一緒にインストールしておきます。

g++パッケージをインストールするコマンド
$ sudo apt install g++
pkg-configパッケージをインストールするコマンド
$ sudo apt install pkg-config

これで必要なコマンドは揃ったはずです。もう一度 make してみましょう。

sample-gtkmmをビルドする(2回目)
$ make Package gtkmm-3.0 was not found in the pkg-config search path. Perhaps you should add the directory containing `gtkmm-3.0.pc' to the PKG_CONFIG_PATH environment variable No package 'gtkmm-3.0' found g++ -c -o obj/MyWindow.o src/MyWindow.cpp In file included from src/MyWindow.cpp:1:0: src/MyWindow.h:4:10: fatal error: gtkmm.h: No such file or directory #include <gtkmm.h> ^~~~~~~~~ compilation terminated. Makefile:26: recipe for target 'obj/MyWindow.o' failed make: *** [obj/MyWindow.o] Error 1

コマンドだけでなく gtkmm-3.0 などのライブラリも不足していましたね。

必要なライブラリをインストールする

不足している gtkmm-3.0 パッケージをインストールしていきましょう。

gtkmm-3.0パッケージをインストールするコマンド
$ sudo apt install gtkmm-3.0

様々な依存ライブラリが一緒にインストールされるので少し時間がかかります。ゆっくりと待ちましょう。

ビルド

これでコマンドもライブラリも揃いました。今度こそビルドが成功するはずです。

sample-gtkmmをビルドする(3回目)
$ make

エラーが表示されることなく終了すればビルド成功です。

実行ファイルが出来上がったことを確認する
$ ls -l bin total 48 -rwxr-xr-x 1 user user 47568 Feb 8 03:27 sample-gtkmm

ちゃんと bin/sample-gtkmm ファイルが出来上がっています。

実行

それでは実行です。

sample-gtkmmを実行する
$ bin/sample-gtkmm &

上手くいきましたね。Windows 上の Eclipse CDT で開発を進めてきた GTK+アプリケーションを 何も変更することなく そのまま Linux でビルドして実行することができました。

最終更新日 2024-12-13
この記事を共有しませんか?
ブックマーク ポスト