http://c.biancheng.net/view/3868.html
Qtのは、空中から作成されていない、それは既存のツールチェーンに基づいて作られ、それはコンパイラ、リンカ、デバッガを使用しますので、自分自身ではなく、トップ公式Qtのツールを開発しました。我々はツールチェーンを使用するためにはQtのいくつかの部分を説明し、以下の。
GNUツールセット
1980年代では、コンピュータは贅沢であり、最も有名なオペレーティングシステムは、UNIXファミリで、何のWindows、なかったのLinuxなどは、Unixシステムも商用ソフトウェア・アプリケーションである商用ソフトウェア、あり、すべての閉じた環境です。
この環境でのシステム・プログラマーのリチャード・M. Stallman氏(RMS)は独自の作成GNUプロジェクト(GNUのはないのUnix)を、フリーソフトウェアの開発を促進するためにフリーソフトウェア財団(FSF)フリーソフトウェア財団が。
GNUプロジェクトは、フリーのUnixライクなシステムを作成し、そのため非常に有名であるオープンソースのシステムツールの多くは、開発するGCC(GNUコンパイラコレクション、GNUコンパイラスイートを)。
今、私たちはUnixライクなシステムのGUNのプロジェクトの開発に失敗したことを知っているが、それは一連のツールは、今日のLinuxディストリビューションの多様性を形成するために、二つが結合するLinuxカーネルの以降で使用された開発、興味のある読者は、電源を入れてください「へ のLinuxおよびUNIXの関係と違い 多くのため」。
内部のGNUツールセットでは、しばしば見られるいくつかの開発者は以下のとおりです(これらのツールは、一般的にLinuxやUnixシステムを設置しているの/ usr / bin /ディレクトリです):
ツール | 説明 |
---|---|
GCC | GNU C言語コンパイラ。 |
G ++ | GNU C ++コンパイラ。 |
LD | GNUリンカ、オブジェクト・ファイルとライブラリファイルは、実行可能ファイルとダイナミックリンクライブラリを作成するためにリンク。 |
とともに | 静的ライブラリ.Aを生成し、あなたが編集し、静的リンクライブラリを管理することができます。 |
作ります | ジェネレータは自動的にコンパイルされ、実行可能なプログラムまたはメイクファイルに応じてライブラリファイルを生成するためにリンクすることができます。 |
GDB | 実行可能プログラムをデバッグするためのデバッガ。 |
LDD | 実行可能ファイルは共有ライブラリ(動的リンクライブラリとして知られている拡張子.soが、)に依存して表示します。 |
MinGWの
あなたはGNUツールを使用することができ、Windowsのシステム、(Windows用のミニマリストGNU)のMinGWの誕生までのWindowsの普及でのみ唯一のLinux / UnixシステムではもともとGNUツール、プロジェクトMinGWのは、Windowsの内部で発生することができます使用してexeファイルとDLLリンクライブラリプログラム。
なお、いくつかの違いはMinGWとLinux / UnixのシステムのGNUツールセット:
- 拡張子.exeを持つ内部MinGWのツールは、Linuxの/ Unixシステムツールは、通常は延長されません。
- MINGW32-MAKE.EXEという名前ジェネレータファイル、Linuxの/ Unixシステム内部のMinGWのは、makeと呼ばれています。
- リンクのMinGWのは、とき* .soが使用されている、ライブラリリファレンスファイル.A *へのリンクです* .dllが生成された実行可能プログラムが実行されるかに応じて、リンクおよびLinux / Unixシステムを実行します。
Windowsの共有ライブラリの.soファイルを使用していないので、何のLDDツールはありませんまた、MinGWので。あなたがWindowsの実行可能ファイルに依存関係を表示したい場合は、Microsoft自身の依存関係ウォーカーツールを使用する必要があります。Windowsの動的ライブラリの拡張.dllファイルの内部では、MinGWのは、.defファイルや.libファイルなど必要なダイナミックリンクライブラリファイルを作成し、使用するためにDLLTOOLによって生成することができます。
MinGWのは、元々 64ビットと32ビットの両方生成プログラムをサポートMinGWのMinGWの-W64プロジェクトから分離され、人気のある64ビットシステムで、32ビットのプログラムを生成するために使用されました。MinGWのMinGWの-w64プロジェクトのQtのライブラリのバージョンは、生成ツールの内部を使用することです。
MSYS(最小限のシステム)
また、自身に主に、このようなリンクやヘッダファイル、ライブラリなどMinGWのコンパイラツールを伴う言及し、システム管理が含まれていない、などのファイル操作のシェル環境、開発者はUnixライクなコマンドを使用したいと考えていたが、それでも十分ではありません。MinGWのが正式MSYS(最小限のシステム)、小型のUnixシステム環境内で展開され、Windowsシステムの同等を開始しましたので、移植のUnix /多くのLinuxのコマンドなどラインツールと構成ファイルは、MinGWのを拡張したものです。
UNIX / Linuxシステム環境またはあなたがUNIX / Linuxシステムを習得しようとしている人々に精通MSYSは便利なの一種です。MSYSとMinGWのは、2つの統合管理されているダウンロードしてインストールを通じて達成するために、すべての公式mingwの-取得ツールのアップグレードをインストールします。
MSYS2(最小限のシステム2)と呼ばれる小規模なシステム環境に対応MinGWの-W64プロジェクトのために、MSYS2 MSYS誘導体バージョンである、唯一の64ビットおよび32ビットシステム、並びにから独自のパッケージ管理ツールをサポートアーチのLinuxシステムでは、ソフトウェアをダウンロードしてインストールし、自動的にパックマン、簡単にシステムのアップグレードによって直接依存関係を解決することができますし、そうした後MSYS2インストール、パックマンのソフトウェア管理ツールを移植しました。インストールMSYS2は、MinGWの-W64をダウンロードして行く必要はありません後、パックマンのコマンドを使用して直接ツールGitのツールをコンパイルとリンクしてインストールすることができます。
(MSYSを含む)MinGWのプロジェクトのホームページ:http://www.mingw.org/
のMinGW-W64プロジェクトホーム:https://sourceforge.net/projects/mingw-w64/
MSYS2プロジェクトのホームページ:https://sourceforge.net/projects/msys2/
CMakeの
CMakeの(クロスプラットフォーム・メイク)は、クロスプラットフォームのメイクファイルまたはプロジェクトファイルの広い範囲で、さまざまなツールを使用してコンパイルし、実行可能プログラムやライブラリを生成するためのサポートを生成することができ、オープンソースのクロスプラットフォームのビルド自動化ツールです。
彼らは、実行可能プログラムまたはDLLを生成するために設定された各種コンパイラツールと呼ばれる、独自のビルドスクリプトCMakeLists.txt、と同等であるCMakeのコンパイラを、しません。
通常、複雑な面倒のためのメイクファイルコンパイラは自分自身を書くこと、およびCMakeのを使用して、あなたは比較的簡単CMakeLists.txt、CMakeLists.txtに応じて自動的に生成CMakeのメイクファイルを書き込むことができ、その後、実行可能プログラムのメイクを生成するために使用することができますまたはライブラリ。
このチュートリアルでは、メイクファイル、役に立たないCMakeのを生成するための公式Qtのqmakeのツールを使用することです。CMakeのが原因で全体のKDEデスクトップ環境はCMakeのスクリプトを使用して構築されている広大なマルチプログラムの、ここで言及する理由は、他のクロスプラットフォームのプログラムは、/ C ++ライブラリは、ライブラリとしてブーストは、OpenCVのは、などLLVM、クランは、また、CMakeのスクリプトを使用して構築されています。これらの事に暴露した後ならば、それはCMakeのを理解する必要があります。
cmakeのプロジェクトのホームページ:https://cmake.org/
KDEプロジェクトのホームページ:https://www.kde.org/
Qtツールキット
公式Qtの開発環境のインストールパッケージはqmakeのコマンドの前に使用する専用の開発ツールを、持っています。qmakeのはあなたにも、.PRO Qtのプロジェクトファイルを作成することができ、自動的にMakefileのプロジェクトを生成することができ、ツールのコアを開発するQtのです。
次のようにここではQtの開発ツールのリストは、一般的に使用されます。
ツール | 説明 |
---|---|
qmakeは | クロスプラットフォーム.PROプロジェクトファイルを生成することができ、かつ実行可能なプログラムやライブラリを構築するための別のオペレーティングシステムとコンパイラツールに基づいて、対応するMakefileを生成することができ、プロジェクトのビルド・ツールのコア。 |
UIC | ユーザインタフェースコンパイラ、ユーザインターフェースコンパイラは、XML構文のファイルを使用してQtの.uiフォーマットは、UI _ *****。H.ように、ユーザインタフェースのヘッダファイルを作成するためのC ++コードを生成するUIC .uiファイルに応じて、ユーザインタフェースを定義します |
パワー | メタオブジェクトコンパイラ、MOC、C ++クラス定義Q_OBJECTマクロ内部MOC処理ヘッダーは、ソースコードファイルを生成し、適切なクラスのオブジェクト・コード要素を含むようMOC _ *****。CPP、要素信号QT /溝機構、ランタイム型定義、システムの動的特性を実現するための主要オブジェクトコード。 |
RCC | リソースコンパイラ、リソースファイルコンパイラは、最終的にはQtプログラムにリソースを埋め込む、プロジェクトのビルドプロセスで.qrcリソースファイルをコンパイルするための責任があります。 |
qtcreator | 経営を生成するためのプロジェクトを含む統合開発環境、コード編集、グラフィカルな視覚化エディタ、コンパイラ生成、デバッグ、コンテキストヘルプ、バージョン管理システムの統合や他の多くの機能だけでなく、携帯電話をサポートし、組み込み機器のプログラムが展開を生成します。 |
アシスタント | Qtのアシスタント、文書閲覧を支援するためのクエリツール、ドキュメントライブラリのQtヘルプすべてのモジュールおよび開発ツール、サンプルコードなど、検索することができ、Qtの開発が不可欠アーティファクトである、また、自己のQtのために使用することができます。 |
デザイナー | ビジュアル編集グラフィカル・ユーザ・インターフェース(WYSIWYG)に専用のQT設計者は、Qtのプロジェクトの.uiファイルを生成します。 |
言語学者 | Qtの言語学者、ストリングス、TRと開発者コード()マクロパッケージは、文字列は.TSファイルに翻訳することが可能な、翻訳LUPDATEコマンド生成プロジェクトで、多言語の言語学者で.TSを翻訳し、翻訳はlreleaseのコマンドを使用して完了です生成されたファイルを.qm、その後、多言語インターフェース表示のために使用することができます。 |
qmlscene | QMLのQt 4.xの年でqmlviewerを使用プロトタイプ作成とテスト手順は、qmlsceneたQt 5が古いqmlviewerを置き換えられます。新しいqmlsceneもの新機能シーングラフのQt 5をサポートしています。 |