グラフィック表示を行う際には、第5回で学んだようにプログラムのコンパイル時に今までの cc
に比べてたくさんオプションが必要になります。
カーナビプログラムのグラフィック表示では、以下に示すように、文字情報等を表示するためにさらに多くのオプションが必要となります。
cc map.c -g -O2 -Wall -Wno-unused-result -o map -I/usr/include/freetype2 -lftgl -lglfw -lGLU -lGL -lX11 -lXrandr -lm
(map.cを実行ファイル名mapとしてコンパイルする場合の例)
一回一回、長いオプションを付けてコンパイルを行うは手間となりますが、この手間を省くには2つの方法があります。
1つは、alias
という短縮ダイアルのような機能を利用する方法です。
まず、ホームディレクトリに移動します。 (login 直後 or, cd
コマンドだけで移動できる。)そこに、glcc.shというファイルを生成します。
そして中に以下の内容を記入します。
#!/bin/bash cc $1.c -g -O2 -Wall -Wno-unused-result -I/usr/include/freetype2 -lftgl -lglfw -lGLU -lGL -lX11 -lXrandr -lm -o $1
$1はシェル変数と呼ばれ、この部分にコンパイルしたいファイル名が代入されます。 続いて、この.shファイルに権限を与えるため、ターミナルで次のコマンドを打ち込んでください。
chmod +x glcc.sh
.bashrc
というファイルに
alias glcc='/home/gakusei2017/glcc.sh'
という内容(行)を追加してください。
これは、別名定義と言って、cc
に多数のオプションを付けた状態をglcc
という名前で使えるようにしています。 これは次回の端末起動から自動的に設定されますが、今回は
source ~/.bashrc
というコマンドを実行して下さい。正しく設定できていれば
glcc map
だけでコンパイルできるようになります。
-oオプションを付けて実行ファイル名を指定しない場合には、実行するファイルはa.out
という名前で出力されていましたが、今回の設定でコンパイルしたファイル名と同じ名前で出力されるようになります。
今回の場合はmap
になり、プログラムを実行するためには
./map
としてください。
もう1つはmake というものを使う方法 です。ここでは説明しませんが、これからプログラムをガンガン行う人は、是非make
の使い方を覚えておいてください。