記事がオリジナル記事の場合、転載の際は出典元を明記してください
この記事のブログアドレス: https: //hpzwl.blog.csdn.net/article/details/131045662
国産KylinシステムとTongxin UOSシステムの開発
前:「Tongxin UOS システム開発メモ (2):国内 Tongxin UOS システム、Qt 開発環境構築と Qt5.12 インストール」
次:「Tongxin UOS システム開発メモ (4):Qt ソースコードからのコンパイルとインストール QtCreator4 をコンパイルしてインストールします。 11.2、コンパイルテストのデモを設定します》
序文
前回の記事では Qt が提供するインストール パッケージを使用してインストールしましたが、シナリオによっては自分でコンパイルした Qt を使用する必要があるため、この記事では Tongxin UOS システムで Qt5.12.8 ソース コードをコンパイルする方法を説明します。
同心 UOS システムのバージョン
システムバージョン:
Qt ソースコードのダウンロード
筆者がよく利用する ブログ投稿「Qt インストールパッケージ、Qt ソースコードの国内サイトメモ(Qt アカウントを登録せずにさまざまなバージョンの Qt インストールパッケージ、Qt ソースコードパッケージをダウンロードできます)」のどのバージョンが必要かを参照してください。
Qt5.9 と Qt5.12 の 2 つのメジャー バージョン、今回は Qt5.12.8 をダウンロードします。
自分でコンパイルするため、Qt 版がインストールできる場合は Qt インストール版の QtCreator を使用するのが一般的ですが、この記事ではソースコードを使用して Qt のソースコードをコンパイルします。 ソースコードのコンパイルと構築環境 (追記:他の国産チップに基づいて使用すると便利ですが、x86 と amd64 は直接インストールできません)。
ソースコードから Qt をコンパイルしてインストールする (放棄されたプロセス)
ステップ 1: ダウンロードして解凍する
tar xvf qt-everywhere-src-5.12.8.tar.xz
ステップ 2: Qt を構成する
現在のディレクトリを調整します。
cd /home/yang/work/src/qt-everywhere-src-5.12.8
次に、次のように設定します。
./configure -prefix /home/yang/work/qt5.12.8 \
-release \
-opensource \
-platform linux-g++ \
-make libs \
-optimized-qmake \
-pch \
-qt-libjpeg \
-qt-zlib \
-no-opengl \
-skip qt3d \
-skip qtcanvas3d \
-skip qtpurchasing \
-no-sse2 \
-no-openssl \
-no-cups \
-no-glib \
-no-iconv \
-nomake examples \
-nomake tools \
-skip qtvirtualkeyboard \
-v
./1.sh
「y」を入力してください
ステップ 3: コンパイル エラー「エラー: 機能 'precompile_header' は有効になりましたが、前提条件 'tests.precompile_header' が失敗しました。」を解決します。
この機能が有効になっており、-no feature-precompile_header が直接無効になっているため、この問題がチェックされます。
1.sh の構成パラメーターを変更します。
#!/bin/sh
./configure -prefix /home/yang/work/qt5.12.8 \
-release \
-opensource \
-platform linux-g++ \
-make libs \
-optimized-qmake \
-pch \
-qt-libjpeg \
-qt-zlib \
-no-opengl \
-skip qt3d \
-skip qtcanvas3d \
-skip qtpurchasing \
-skip webengine \
-no-sse2 \
-no-openssl \
-no-cups \
-no-glib \
-no-iconv \
-nomake examples \
-nomake tools \
-skip qtvirtualkeyboard \
-no-feature-precompile_header \
-v
実行を続けます:
./1.sh
構成は成功しました。
ステップ 4: Qt ソース コードをコンパイルする
長年の経験に基づくと、このプロセスには少なくとも 30 分はかかります。
make -j8
コンパイル中にエラーが発生しました:
Qt に ARM プロセッサ用の「neon」サポートをコンパイルさせることでこの問題を解決するには、「qtbase/mkspecs/qmodule.pri」の「./configure」の後の次の行を変更するだけです。
vi qtbase /mkspecs /qmodule.pri
(間違ったルート: 構成中に precomplile_header を削除して回避します。私はこれが間違っていると常々感じていました。今回のエラーは定義の欠如です。ブロガーは常にこの問題を疑っていました。研究開発の過程で、私は次のことを発見しました。 CPU を変更しようとしたときに qmodule.pri にこの命令があったので、それを直接強制的に追加しましたが、その後のデモンストレーションの後でもこのエラーが報告されるため、それが無関係であることを証明するには 1 時間に相当します。試行を続けますが、予約は通常の関数であるため、qmodule.pri はまだ変更されています)
ここにいくつかあります このエラーは何時間も進展がなく、ソース コード分析でもしばらく解決されていません。死んではいないので、戻って他の構成パスを試してください。
Qt はソース コードからコンパイルおよびインストールされます
ステップ 1: ダウンロードして解凍する
tar xvf qt-everywhere-src-5.12.8.tar.xz
ステップ 2: Qt を構成する
現在のディレクトリを調整します。
cd /home/yang/work/src/qt-everywhere-src-5.12.8
次に、次のように設定します。
./configure -prefix /home/yang/work/qt5.12.8 \
-confirm-license \
-release \
-opensource \
-v
次の方法で設定します。
(追記1:最初から間違った方向に進んでしまう場合があります。閾値は2時間、2時間を超えた場合は1つ戻って解決策を探してください) (追記2:もう遅いので続きは明日にします
)
ステップ 3: Qt ソース コードをコンパイルする
構成は基本的に完全に有効になっており、構成は比較的良好で、全体のコンパイルには 30 分以上かかりました。
make -j8
make を追加します (マルチスレッドを避けるため、コンパイルがハングアップしますが、すぐに停止せず、出力が他のスレッドによって洗い流されてしまいます)
ステップ 4: make install をインストールする
make install
以前にコンパイルしたものがたくさんあり、ここでのインストールが完了するまでに 10 分以上かかりました。
ステップ 5: qmake を使用して Qt を確認する
この時点では、qmake はコンパイルできますが、qtcreator はありません。次の記事では、qtcreator をコンパイルし、この記事のコンパイル ライブラリを構成して開発環境をテストします。
前:「Tongxin UOS システム開発メモ (2):国内 Tongxin UOS システム、Qt 開発環境構築と Qt5.12 インストール」
次:「Tongxin UOS システム開発メモ (4):Qt ソースコードからのコンパイルとインストール QtCreator4 をコンパイルしてインストールします。 11.2、コンパイルテストのデモを設定します》
記事がオリジナル記事の場合、転載の際は出典元を明記してください
この記事のブログアドレス: https: //hpzwl.blog.csdn.net/article/details/131045662