Armadillo-640、またはArmadillo-X1でQtを使って開発を行う場合、Armadillo上での開発だとIDE(統合開発環境)等が使えず、デザイン等がGUIで作りにくい面があります。
そのため、ここではATDE7上のQtCreatorでソフトウェアの開発を行い、ソースコードのみArmadilloに転送しビルドする方法を紹介します。
1. 環境
このブログでは以下の環境を例に、QtCreatorを使う方法を紹介します。
- 製品: Armadillo-640
- 使用ユーザー名: atmark
- 使用ATDE: ATDE7
- 使用ユーザー名: atmark
- Linuxカーネル: Linux v4.14-at11
- ユーザーランド: Debian GNU/Linux 9 (ユーザーランドイメージ 20190326版)
2. QtCreatorのインストール
以下のコマンドを実行して、ATDE7上にQtの開発環境とQtCreatorをインストールしてください。
[atde ~]$ sudo apt-get update [atde ~]$ sudo apt-get install qt5-qmake qt5-default qtcreator
3. QtCreatorの実行とプロジェクトの作成
ATDEを起動し、画面左上に表示されている「アクティビティ」をクリックしてください。
画面上部の検索ボックスで、以下のように「QtCreator」と入力すると出てくるQtCreatorのアイコンをクリックしてください。
QtCreatorが起動すると以下の画面になります。QtCreator上部のメニューから「ファイル」、「ファイル/プロジェクトの新規作成」を選択し、画面右下の「選択...」をクリックしてください。
以下の画面で、「アプリケーション」、「Qtウィジェットアプリケーション」を選択してください。
以下の画面で、名前にプロジェクト名を入力してください。このブログでは例として「hello」と入力し、画面右下の「次へ」をクリックしてください。
以下のキットの選択画面では、すでにデスクトップが選択されていますので、そのまま画面右下の「次へ」をクリックしてください。
以下のクラス情報画面では、特に変更せず、画面右下の「次へ」をクリックしてください。
以下のプロジェクト管理画面では、特に変更せず、画面右下の「完了」をクリックしてください。
プロジェクトが作成されると以下の画面が表示されます。
ウインドウ左下の実行ボタン(緑の三角の形状)をクリックし、アプリケーションのビルドと実行を行ってください。そうすると以下のウインドウが表示されます。(コード修正していないのでまだ何もありませんが)
4. QtCreatorで作成したソースコードをArmadilloにコピー
先ほどの手順でQtCreatorでプロジェクトを作成した場合は、ホームディレクトリにプロジェクトディレクトリが作成されます。
プロジェクト名「hello」で作成したため、以下のコマンドを実行するとhelloプロジェクトに関するディレクトリが表示されます。
atmark@atde7:~$ ls | grep hello build-hello-unknown-Debug hello
上記の「hello」ディレクトリはソースコード、「build-hello-unknown-Debug」はビルドする際の中間ファイルや、実行ファイルが保存されています。
今回はArmadilloにソースコードをコピーして、Armadilloでビルドを行いますので、以下のlsコマンドで表示されるファイルをArmadilloの/home/atmark/helloディレクトリに保存してください。
atmark@atde7:~$ cd hello/ atmark@atde7:~/hello$ ls hello.pro main.cpp mainwindow.h hello.pro.user mainwindow.cpp mainwindow.ui
5. Armadillo上のQtビルド環境の構築
Armadillo標準ではQtアプリケーションをビルドするための環境がありませんので、以下のコマンドを実行してビルドするためのツールをインストールしてください。(ここではatmarkユーザーでログインしています)
atmark@armadillo:~$ su Password: # ← rootユーザーのパスワードを入力 root@armadillo:/home/atmark# apt-get install qt5-qmake qt5-default root@armadillo:/home/atmark# exit
- ※: ファイルのコピーはscpコマンド等で行うと、比較的簡単に行うことができます。
6. Armadillo上でアプリケーションをビルド
以下のコマンドを実行して、「4. QtCreatorで作成したソースコードをArmadilloにコピー」の手順が正常に行われているか確認してください。
atmark@armadillo:~$ cd hello atmark@armadillo:~/hello$ ls hello.pro main.cpp mainwindow.h hello.pro.user mainwindow.cpp mainwindow.ui
以下のコマンドを実行して、helloをビルドしてください。
atmark@armadillo:~/hello$ qmake atmark@armadillo:~/hello$ make
7. Armadillo上でアプリケーションの実行
前述の手順ですでに実行ファイルができておりますので、以下のコマンドを実行してhelloを起動してください。
atmark@armadillo:~/hello$ export QT_QPA_PLATFORM=linuxfb atmark@armadillo:~/hello$ export QT_QPA_GENERIC_PLUGINS=evdevtouch:/dev/input/event0 atmark@armadillo:~/hello$ ./hello
A1. QtCreatorでシャドウビルド無効化時の注意点
QtCreatorの設定でシャドウビルドを無効化にした場合は、以下のようにMakefileやオブジェクトファイルが、ソースコードが配置されているディレクトリに生成されます。
[atde ~/hello]$ ls Makefile hello.pro.user mainwindow.cpp mainwindow.ui ui_mainwindow.h hello main.cpp mainwindow.h moc_mainwindow.cpp hello.pro main.o mainwindow.o moc_mainwindow.o