ブログ

Armadillo-640/X1: QtCreatorを使用したアプリケーションを開発方法

at_ito
2019年5月22日 10時53分

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