1.QTプログラムをインストールする
開発環境はamd64 linuxシステムを使用しているため、.runが実行できます。QT公式Webサイトからダウンロードして、バージョンを自分で選択できます。後でコンパイルするqtに対応させるのが最適です
1. ここから qt5.9.6 バージョンの .run をダウンロードします。
2. ダウンロードの下に置きます
3. この時点で、./Run を使用してコマンド ラインでプロンプトを検索します。
4. 実行権限がない場合は、コマンドラインに次のように入力します。
sudo chmod u+x qt-opensource-linux-x64-5.9.6.run
5. 実行後、./ を使用してファイルを直接開き、コマンド ラインに入力できます。
./qt-opensource-linux-x64-5.9.6.run
6. この時点で QT インストーラーがポップアップ表示されます
QTのインストールを開始します
7.次へ
ここでアカウントを登録する必要があります。メールアドレスを確認するだけで問題ありません。
8. インストール パスは英語である必要がありますが、これについては特に言う必要はありません。
9. 次にコンポーネントを選択し、契約に同意します
最も保守的なオプションは、すべてを選択して
契約に同意することです。
10.「インストール」をクリックしてインストールを開始します。
11. インストールが完了するまで待ちます
12. インストールが完了しました
13. クロスコンパイラのインストールと環境設定
ここでは、前の兄弟のネットワーク ディスクから直接借用しています。
リンク: https://pan.baidu.com/s/1mnpFepFY-rOlwWd3QbYZiw 抽出コード: 5566
(1) 2 つのクロス コンパイラ ファイルを [ダウンロード] に配置します。
(2) コマンド ラインに次のように入力します。
sudo tar -xvf gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar -C /opt/
sudo tar -xvf gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf.tar -C /opt/
(3) 解凍が完了しました。
(4) システムの環境変数を設定します。いくつかの方法があります。vim
で直接変更します。
sudo は ~/.bashrc を実行します
直接開いて変更します: ホームの下で開いて隠しファイルを表示します:
gedit 変更:
sudo は ~/.bashrc を実行します
(5) クロスコンパイラ環境を追加します。パスは /opt/ です。
PATH=$PATH:/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin
PATH=$PATH:/opt/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf/bin
(6) 構成後、グローバル変数が有効になり、コマンド ラインに次のように入力します。
ソース ~/.bashrc
(7) コマンドライン入力により、コンパイラがインストールされていることを確認します。
aarch64-linux-gnu-gcc -v
arm-linux-gnueabihf-gcc -v
どちらもバージョン番号が表示され、問題がないことを示します。
(8) 簡単な C プログラムを作成し、arm64 コンパイラでコンパイルし、ボード上で実行します。
#include <stdio.h>
int main(int argc, char **argv)
{
printf("Hello, you do it succeed!!!\n");
return 0;
}
(9) この hello.c は、/home/ユーザー名/ 以下のフォルダーに置くことをお勧めします
(10) ここでは、ファイルマネージャーで直接右クリックしてフォルダーを作成できます。 ctest のルート ディレクトリに入力するだけです。
タッチハロー.c
それを直接開き、コードをその中に入れて保存します
(11) 以下の図に示すように、2 つのステップで hello.c を aarch64 でコンパイルします (追記: -o の後に生成された実行可能ファイルの名前を入力するだけです)
(12) 実行可能ファイルを生成しますファイルのタイプは aarch64、つまり arm64 バージョンの実行可能プログラムで、下の図に示すようにボードに直接配置して実行できます
(13)。ボード上での実行は成功し、arm64 がクロスしたことを示します。コンパイラは正常にインストールされました
14. QT ソース コードをコンパイルし、クロスコンパイル環境を構成します。
(1) (1) QT ソース コード パッケージを解凍し、次のように入力します。
sudo tar xvf qt-everywhere-src-5.12.10.tar.xz
cd qt-everywhere-src-5.12.10
(2)
ディレクトリに移動し、次のように入力します。
sudo cp -a linux-aarch64-gnu-g++/aarch64-linux-gnu-g++/
(3) aarch64-linux-gnu-g++ フォルダーに移動し、
次のように入力します。
gedit qmake.conf
(4) 以下の内容を追加します。
# modifications to g++.conf
QMAKE_CC = /opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc
QMAKE_CXX = /opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-g++
QMAKE_LINK = /opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-g++
QMAKE_LINK_SHLIB = /opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-g++
# modifications to linux.conf
QMAKE_AR = /opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-ar cqs
QMAKE_OBJCOPY = /opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-objcopy
QMAKE_NM = /opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc-nm -P
QMAKE_STRIP = /opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-strip
load(qt_config)
(5) 図に示すように、ファイルを保存します。
(6) 保存後、解凍した qt ファイルのルート ディレクトリに入る必要があります。
ビルド フォルダーを作成します。
(7) ビルド フォルダーに入り、ビルドを作成します。 sh
(8) build.sh ファイルを編集し、以下を追加します。
…/configure
-verbose
-opensource
-release
-shared
-confirm-license
-make libs
-nomake testing
-nomake Examples
-skip qtmacextras
-skip qtandroidextras
-no-opengl
-xplatform aarch64-linux-gnu-g++
-prefix /opt/qt- 5.12.10-linux-aarch64-gcc
(9) build.sh を保存した後、build.sh の実行権限を与える必要があります。
sudo chmod +x build.sh
(10) コンパイルが依存するライブラリをインストールします。インストールできるものはすべてインストールします。基本的なものはインストールする必要があります。
ベースの環境:
sudo apt-get build-dep qt5-default
sudo apt-get install libxcb-xinerama0-dev
sudo apt-get install build-essential perl python git
Libxcb:
sudo apt-get install '^libxcb.*-dev ' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev libxkbcommon-x11-dev
OpenGL:
sudo apt-get install build-essential
sudo apt-get install libgl1-mesa-dev
sudo apt-get install libglu1-mesa-dev
sudo apt-get install libegl1-mesa-dev
sudo apt-get install freeglut3-dev
Qt WebKit:
sudo apt-get install flex bison gperf libicu-dev libxslt-dev Ruby
Qt WebEngine:
sudo apt-get install libssl-dev libxcursor-dev libxcomposite-dev libxdamage-dev libxrandr-dev libdbus-1-dev libfontconfig1-dev libcap-dev libxtst-dev libpulse-dev libudev-dev libpci-dev libnss3-dev libasound2-dev libxss -dev libegl1-mesa-dev gperf bison
Qt マルチメディア:
sudo apt-get install libasound2-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev
QDoc ドキュメント ジェネレーター ツール:
sudo apt install libclang-6.0-dev llvm-6.0
(11) 必要な環境をインストールした後、build.sh を実行してコンパイル用の Makefile を作成できます。
(12) 以下を実行します。
作る
(13) 以下を実行します。
sudo メイクインストール
コンパイル完了後に make install を実行すると、-prefix で指定したディレクトリに qt ライブラリがインストールされます。
15. QT クロスコンパイル環境の構成
(1) インストールされた QT とプロジェクトを開きます
(2) その aarch64 ビット コンパイラーを構成し、「コンパイラーで追加」をクリックして、前にインストールして構成したクロスコンパイル チェーン GCC を追加します。構成パスと名前は区別される必要があります (3)
Qt コンパイル済みの qmake を「バージョン」で構成します。場所は「opt」の下にあります。
(4) 「キットの追加」。構成は以下の図に示されています。名前はカスタマイズできます。
(5) 「OK」をクリックした後、「プロジェクト」で新しく構成されたキットをクリックし、環境を選択し、リリース モードを選択して、ビルドをクリックします
(6) ビルド後、緑色で表示され、正常にビルドされます
(7) ビルドされたプロジェクトを確認します
(8) クリックすると、実行可能ファイルがあることがわかりますさまざまなプログラムに応じて、特別なグローバル変数設定、関連するライブラリ lib 配置などをホーム配下の .bashrc ファイルに追加する必要があり、そのソースを使用して有効にすることができます