次のページ 前のページ 目次へ

2. Qt

qt-1.33.tar.gz ファイルを /usr/local/ にコピーまたは移動し、root 権限でこれを 展開する必要があります。すると /usr/local/ にディレクトリを作成しますが、その ディレクトリ名を qt というディレクトリ名に変える必要があります。 例えば、/usr/local/qt-1.33 に展開された場合、/usr/local ディレクトリ上で

# mv qt-1.33 qt
と入力して、これを /usr/local/qt というディレクトリ名に変更します。次に、
# cd qt
と入力してワーキングディレクトリを `qt' に変更します。 `qt' ディレクトリに移ったら、スクリプトに設定を開始させるために
# make linux-gcc-shared
と入力し、最後に
# make
と入力するだけで、必要なものを全てビルドします。

次に、システムに対して Qt ライブラリがどこにあるかを教える必要があります。 環境変数をセットするために下記を /etc/profile (の最後がよいでしょう)に記述し ます。

【訳注】bash の場合、 /.bash_profile か  /.profile に書き加えても良いでしょ う。また、csh、tcshの場合、適宜修正の上  /.loginに書き加えることが出来ます。 【訳注終り】


QTDIR=/usr/local/qt
MANPATH=$QTDIR/man:$MANPATH
LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
LIBRARY_PATH=$LD_LIBRARY_PATH
CPLUS_INCLUDE_PATH=$QTDIR/include:$CPLUS_INCLUDE_PATH

PATH="$PATH:/usr/X11R6/bin:$QTDIR/bin"

export QTDIR MANPATH LD_LIBRARY_PATH LIBRARY_PATH CPLUS_INCLUDE_PATH

これらの環境変数の詳細は、Qt アーカイブに添付の INSTALL ファイルをご覧下さい。 export で始まる行は、デフォルトのシェルである bash 以外のシェルを使用する場合 のみ必要です。例えば、デフォルトのシェルは bash だけど tcsh を使いたいという 時は、これを追加する必要があります。私が何を話しているのか分からないのであれ ば、これを気にする必要なく、そのままにしておいて構いません。このことを私に教 えてくれた Justin に感謝しま す。

環境変数が Qt ライブラリのパスを見つけることができなくておかしくなるときは /usr/local/qt/lib/ 内の全てのファイルを /lib へコピーします。 私の場合は、これで問題がなくなったようなのですが、殆どの人は前述の環境変数の 設定通りでうまくいく筈です。/etc/profile を変更してから、ログアウトして再度 ログインするか、または bash をリスタートしましょう。

もっと良い解決策は /etc/ld.so.conf ファイルに /usr/local/qt/lib (または自分 の Qt があるところ)を追加し、ldconfig を実行することであると私は思います

これは、システムがスタートアップする時、またはプログラムがシステムにライブ ラリのことを尋ねる時の、プログラムがサーチするデフォルトのパスに、Qt ライブ ラリのディレクトリを置きます。 (私はプログラマではないので、よく分かりませんが...)

環境変数の設定を有効にするには、ファイルをセーブしてからログアウトし Explorer を使いたい時に再びログインして下さい。

【訳注】Qt をインストール後 /usr/local/qt/examples/ の下にある各サンプルプロ グラムが正しく動作することを確認しておくとよいでしょう。ここで Segmentation fault (core dumped) というエラーが出ることがありますが kinput2 が 動作しているときに Qt を起動すると、こうなるようです。kinput2 と Qt を共存させ るためには以下のようなスクリプトを作成します。例えば、hello というサンプルプロ グラムであれば

#! /bin/sh
export XMODIFIERS=""
exec /usr/local/qt/examples/hello/hello $*
という内容の hello_test という名前のファイルを作り、
$ chmod 755 hello_test
で実行可能にしてから、
$ hello_test
で実行します。なお、上記の内容は Linux user's ML のログ24450,24467から引用しました。

【訳注終り】


次のページ 前のページ 目次へ