OSX 用の Qt のパッケージ化されたインストーラーは、他の UNIX ベースのシステムで行うように /usr/local または /opt/local の自己完結型の場所にインストールするのではなく、/Developer および /Library ディレクトリ全体に物事を分散させます。
ちなみに、Qt はこの点で Apple のやり方に従っているので、実際には間違っていません。ただ違うだけです。しかし、一部のサードパーティの Qt アプリケーションを OSX 上でビルドするのが多少難しくなります。
パッケージ化された Qt インストーラー自体には、このトピックについて次のように書かれています。
インストールが成功すると、/Developer でほとんどの新しい機能を見つけることができます。具体的には、次の場所に配置されます。
- Qt デザイナー、Qt リンギスト: /Developer/Applications/Qt
- Qt ドキュメント: /Developer/Documentation/Qt
- Qt の例: /Developer/Examples/Qt
- Qt プラグイン: /Developer/Applications/Qt/Plugins
- Qt フレームワーク: /Library/Frameworks
- Qt ライブラリ: /usr/lib
- qmake、moc、uic など: /Developer/Tools/Qt (/usr/bin へのシンボリック リンク)
- アンインストール スクリプト: /Developer/Tools/uninstall-qt.py
そのため、ライブラリを「/usr/lib」に配置し、必須の Qt ツール (qmake など) を「/usr/bin」にシンボリック リンクします。これは、QTDIR を「/usr」に設定できることを示唆しています。ただし、実際には、qt ヘッダーは '/Library/Frameworks/Qt*/Headers/*.h' に埋もれているため、これは機能しませんが、$QTDIR に依存するビルドは "$代わりに {QTDIR}/include/" を使用してください。
これを回避する最も簡単な方法は、ソースから Qt をビルドすることです。インストール場所はデフォルトで次のようになります/usr/local/Trolltech/Qt-4.6.3
(バージョン番号に注意し、それに応じて調整してください)。-prefix
オプション onを使用して、デフォルトのインストール場所を上書きできます./configure
。
より簡単な方法は、macportsにビルドさせることです。これが私が最終的に採用したアプローチです(そして成功しました)。まだ持っていない場合は、macports をインストールするだけです。それで:
> sudo port selfupdate
> sudo port install qt4-mac
Macports は魔法のように動作し、完了すると Qt 全体が にインストールされ/opt/local/libexec/qt4-mac
ます。
Qt のビルド方法に関係なく、完全なビルドには数時間かかることが予想されます。これは非常に大きなコード ベースです。