ソースファイルの改行コードは LF(Unix 形式)です。使用しているコンパイラが対応していなければ改行コードの変換を行ってください。また、使用している文字コードは Unicode (UTF-8) です。
コンパイルに必要なものは以下の通りです。
Qt 4.2 以降
CMake 2.4.0 以降(オプション)
Qt ライブラリについては使用している OS に対応するものをダウンロードしてください。Linux の場合は Qt/X11 です。Open Source Edition は以下からダウンロードできます。なお、Qt ライブラリはバージョン4で大幅な変更が加えられ、Qt3 と Qt4 との間にソース互換性がないため、Qt3 ではコンパイルできません。
Cueplot で使用している Qt のモジュールは QtCore と QtGui のみです。Qt3Support は使っていません。
Qt3.x がインストールされている環境では、ソースコードをコンパイルしようとしても Qt3.x のライブラリやコマンドが使われてしまい、コンパイルできないことがあります。この場合は環境変数を変えるとコンパイルできると思います。Red Hat Enterprise Linux などの場合は以下のようにしてください。/usr/lib
ディレクトリは環境によっては /usr/lib64
ディレクトリになります。
$
export QTDIR=/usr/lib/qt4
$
export PATH=/usr/lib/qt4/bin:$PATH
以下では開発パッケージがインストールされていることを前提として話を進めます。
ビルドする方法は4種類用意されています。
このセクションの方法は Cueplot が対応するすべての環境で行えます。
cd
tarball を展開したら、cueplot.pro
ファイルが含まれているディレクトリにカレントディレクトリを移動します。ただし、x.y.z
はバージョン番号です。
$
cd
src
cueplot.pro
の編集(Mac OS X のみ)
Mac OS X では cueplot.pro
を編集してください。具体的には cueplot.pro
の TARGET
を変えます。
TARGET
= cueplot
とあるのを、以下のように変更してください。
TARGET
= Cueplot
qmake
次に、qmake コマンドを実行します。
$
qmake
ただし、ICC(Intel 製のコンパイラ)などデフォルトのコンパイラ以外でコンパイルする場合は qmake コマンドの -spec
オプションでそのコンパイラ用ディレクトリを指定してください。
$
qmake -spec
/usr/share/qt4/mkspecs/linux-icc/
使用しているパッケージによっては qmake-qt4 コマンドが使えることがあります。そのときは qmake の代わりとして qmake-qt4 を使ってください。
make
そして、make と入力するとコンパイルが始まるはずです。
$
make
コンパイルすると実行可能ファイルが生成されます。ファイル(Mac OS X の場合はディレクトリ)の名前は以下に示す通りです。
Cueplot の動作に最低限必要なのはこれだけです。
ts
ファイルの書き換え(Mac OS X のみ)
Mac OS X の場合、lang
ディレクトリにある ts
ファイルを書き換えて、書き換えた ts
ファイルから生成された qm
ファイルを Cueplot.app/Contents/MacOS
ディレクトリ内に置いてください。これを自動化するシェルスクリプトは以下の通りです。カレントディレクトリを lang
ディレクトリにして実行してください。
#!/bin/sh for file in *.ts do sed 's/(&[[:upper:]])//' $file > tmp && mv -f tmp $file done lrelease *.ts mv *.qm ../Cueplot.app/Contents/MacOS
上記のシェルスクリプトはレポジトリにあります。このスクリプトが行う処理は以下の通りです。
カレントディレクトリ内の ts
ファイル中の「&大文字一文字
」を削除(3-6 行目)
編集した ts
ファイルから qm
ファイルを生成(7 行目)
qm
ファイルを ../Cueplot.app/Contents/MacOS
に移動(8 行目)
ts
ファイルを書き換えないと、メニューやボタンで や などと表示されます。
lrelease
lrelease コマンドで lang
ディレクトリにある ts
ファイルから qm
ファイルを生成してください。qm
ファイルは翻訳ファイルです。このファイルがないと日本語環境でもメニュー等が英語で表示されます。ファイルを実行可能ファイルと同じディレクトリ内に置いてください。Mac OS X の場合は、Cueplot.app/Contents/MacOS
にファイル Cueplot
があります。
$
lrelease *.ts
Qt 4.3 以降に含まれている qt_ja_jp.ts
では "Open" に対する訳語が「オープン」になっています。レポジトリ上にある qt_ja_JP.ts
では訳語を「開く」に変えてあります。
上記で qmake-qt4 を使った人は lrelease の代わりに lrelease-qt4 を使ってください。
Resources ディレクトリの作成(Mac OS X のみ)
このままではアプリケーションメニュー(この場合は「Cueplot」メニュー)が日本語で表示されないので Cueplot.app/Contents
ディレクトリ内に Resources
ディレクトリを作ります。そしてソースファイルの lang
ディレクトリ内にある locversion.plist
ファイルを入れ、ja_JP.lproj
という空のディレクトリを作ります。
Resources/
Resources/locversion.plist
Resources/ja_JP.lproj/
strip コマンドで実行可能ファイルのサイズを小さくできます。
Linux の場合
$
strip cueplot
Mac OS X の場合
$
strip Cueplot.app/Contents/MacOS/Cueplot
もしこちらで動作確認している環境以外でコンパイルして動作しなければ以下のファイルを修正してみてください。
gui
ディレクトリ内の Process.cpp
opt
ディレクトリ内の Terminal.cpp
上記の方法は繁雑(特に Mac OS X)で作業を自動化するため、バージョン 0.0.5 から CMake を導入しました。ビルドとインストールの成功を確認しているのは以下の環境です。
Linux の共有ビルド
Mac OS X の静的ビルド
今のところ Windows の静的ビルドではリンクに失敗します。
cmake
CMakeLists.txt
のあるディレクトリのうち上位にあるディレクトリで cmake コマンドを実行します。cmake コマンドには ./configure のような役割があります。
cmake コマンドの実行例は以下の通りです。
例 B.1. Linux における cmake
$
cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DBIN_INSTALL_DIR=/usr/bin -DLIB_INSTALL_DIR=/usr/lib
例 B.2. Mac OS X における cmake
$
cmake -DCMAKE_INSTALL_PREFIX=/ -DCMAKE_BUILD_TYPE=Release -DBIN_INSTALL_DIR=/Applications -DCMAKE_OSX_ARCHITECTURES="ppc;i386" -DCMAKE_OSX_SYSROOT=/Developer/SDKs/MacOSX10.5.sdk
代表的なオプションは以下の通りです。
表 B.2. CMake オプション
変数名 | 意味 | 例 |
---|---|---|
CMAKE_INSTALL_PREFIX | インストール先のベースディレクトリ | /usr , /usr/local |
CMAKE_BUILD_TYPE | ビルドの種類 | Release, Debug |
CMAKE_OSX_ARCHITECTURES | バイナリの対応する CPU アーキテクチャー。Mac OS X のみ。 | ppc, i386, "ppc;i386" |
CMAKE_OSX_SYSROOT | 使用する SDK。Mac OS X のみ。 | /Developer/SDKs/MacOSX10.5.sdk , /Developer/SDKs/MacOSX10.4u.sdk |
BIN_INSTALL_DIR | 実行可能ファイル等のインストール先。指定しなければ、Linux では CMAKE_INSTALL_PREFIX 内の bin ディレクトリで、Mac OS X では CMAKE_INSTALL_PREFIX 内の Applications ディレクトリ | /usr/bin , /usr/local/bin , /Applications |
LIB_INSTALL_DIR | ライブラリ等のインストール先。指定しなければ、CMAKE_INSTALL_PREFIX 内の lib ディレクトリ。Mac OS X では使わない。 | /usr/lib , /usr/local/lib |
XDG_APPS_INSTALL_DIR | デスクトップエントリーファイルのインストール先。指定しなければ、CMAKE_INSTALL_PREFIX 内の share/applications ディレクトリ。Mac OS X では使わない。 | /usr/share/applications , /usr/share/applnk |
このうち、CMake であらかじめ定義されているのは CMAKE_
で始まる変数のみです。XDG_APPS_INSTALL_DIR
はバージョン 0.0.6 で追加しました。これらを含む変数の設定は CMakeCache.txt
というファイルに保存されます。
Mac OS X 10.5 の場合、CMake 2.4.8 で CMAKE_OSX_ARCHITECTURES
を設定すると CMAKE_OSX_SYSROOT
に /Developer/SDKs/MacOSX10.4u.sdk
が設定されコンパイルに失敗するので、このようなときには CMAKE_OSX_SYSROOT
に /Developer/SDKs/MacOSX10.5.sdk
を指定してください。
make
$
make
make install
$
make install
Linux では以下のファイルがインストールされます。
(${BIN_INSTALL_DIR}
/cueplot
へのシンボリックリンク)${LIB_INSTALL_DIR}
/cueplot/cueplot
${LIB_INSTALL_DIR}
/cueplot/cueplot_ja_JP.qm
${LIB_INSTALL_DIR}
/cueplot/qt_ja_JP.qm
${XDG_APPS_INSTALL_DIR}
/cueplot.desktop
cueplot.desktop
もインストールされるようになったのはバージョン 0.0.6 からです。
Linux で Cueplot のパッケージを作る際には DESTDIR
を利用するといいでしょう。バージョン 0.0.6 から DESTDIR
の指定によって make install の挙動を変えられるようにしました。
$
make install DESTDIR=
dir
Mac OS X では以下のディレクトリがインストールされます。
${BIN_INSTALL_DIR}
/Cueplot.app
ここで ${BIN_INSTALL_DIR}
、${LIB_INSTALL_DIR}
と ${XDG_APPS_INSTALL_DIR}
はそれぞれ cmake コマンドのオプションで指定した BIN_INSTALL_DIR
、LIB_INSTALL_DIR
と XDG_APPS_INSTALL_DIR
の値です。
strip
strip コマンドについては qmake のセクションにおける解説を参照してください。
RHEL のような rpm 系 Linux ならば、アップロードされている SRPM から容易に RPM を作れます。
$
rpmbuild --rebuild
cueplot-
x.y.z-n
.src.rpm
作成される RPM をインストールすると以下のファイルがインストールされます。/usr/lib
ディレクトリは環境によっては /usr/lib64
ディレクトリになります。
/usr/bin/cueplot
(/usr/lib/cueplot/cueplot
へのシンボリックリンク)
/usr/lib/cueplot/cueplot_ja_JP.qm
/usr/lib/cueplot/qt_ja_JP.qm
/usr/share/applications/cueplot.desktop
KDE や GNOME などならばメニューに Cueplot が追加されます。また、コンソールからも起動できるようになります。
$
cueplot
-style
オプションで look and feel を指定できます。
$
cueplot -style
cde
-style
オプションで指定できる値には cde の他に cleanlooks、motif や windows があります。cleanlooks は Qt 4.2 以降で利用できます。
Gentoo Linux で使える ebuild もアップロードされています。
ebuild では LINGUAS
変数で "ja"(日本語)が設定されているときのみ cueplot_ja_JP.qm
がインストールされます。また、qt_ja_JP.qm
がインストールされるのは Qt 4.3 よりも前のバージョンしかインストールされていないときです。
インストールされるファイルや起動方法などについては RPM のセクションを参照してください。