前提条件
TouchGFXは主に、Windows 10で使用するように開発されています。 TouchGFX DesignerはWindows上でしか動作しませんが、基盤となるツールはLinux上でも動作します。
Windows上でのTouchGFXの使用
バージョン4.18以降、TouchGFXはWindows 10上でのみ動作するようになりました。
TouchGFXには、開発に必要なすべての基本ツールが備わっています。 TouchGFXにはg++がバンドルされているので、C++コンパイラをインストールする必要はありません。
TouchGFXのインストール手順とコードFlash用の追加ツールについては、インストールに関する記事を参照してください。
Tip
Linux上でのTouchGFXの使用
TouchGFXはLinux上でも使用できます。TouchGFX DesignerはLinux上ではネイティブで実行できませんが、TouchGFX Designerで生成されたコードはLinuxとWindowsの両方で動作します。
これに対して推奨されるソリューションは、Windowsを実行する仮想マシンでTouchGFX Designerを実行することです。 これにより、開発者は必要なときにDesignerを使用し、それ以外では通常のLinux環境を使用できるようになります。
LinuxでTouchGFXを使用するには、いくつかのツールとライブラリが追加で必要になります。 次のセクションでは、Ubuntuの使用方法について示します。 こうした要件は、他のLinuxディストリビューションでも類似したものになります。
Ubuntu 20.04でのTouchGFXの使用
最新のUbuntu 20.04 LTSでTouchGFXツールを使用するには、以下をインストールする必要があります。
まず、rubyをインストールします。コマンドは次のとおりです。
sudo apt install ruby
これによりrubyバージョン2.7がインストールされます。 Windows用のTouchGFXにはバージョン3.0が含まれていますが、現時点でこのバージョンはUbuntuリポジトリ内で使用できません。 通常の使用では、バージョン2.7で十分に機能します。
次に、"roo" gemをインストールします。
sudo gem install roo
makeおよびg++をインストールし、C++プログラムをコンパイルできるようにします。
sudo apt install make g++
最後のパーツは、SDL2ライブラリとヘッダ・ファイルです。
sudo apt install libsdl2-dev libsdl2-image-dev
デフォルトのg++バージョンは9.3.0です。 このバージョンで使用する警告レベルは、TouchGFXに含まれているWindows用のg++と異なっています。 シミュレータのg++フラグとリンカ・フラグに、2つの変更を行う必要があります。
config/gcc/app.mk
# Copyright (c) 2018(-2021) STMicroelectronics.
# All rights reserved.
#
# This file is part of the TouchGFX 4.18.1 distribution.
#
# This software is licensed under terms that can be found in the LICENSE file in
# the root directory of this software component.
# If no LICENSE file comes with this software, it is provided AS-IS.
#
###############################################################################/
# Relative location of the TouchGFX framework from root of application
touchgfx_path := ../../../touchgfx
# Optional additional compiler flags
user_cflags := -DUSE_BPP=16 -Wformat-truncation=0
linker_options := -no-pie
TouchGFXファイルがWindowsのライン終了を使用しているため、Linux rubyが警告を発出します。
ruby: warning: shebang line ending with \r may cause problems
この警告は、2つのファイルをUnixのライン終了に変更する(または、#!
で始まる最初の行全体を削除する)ことで削除できます。
dos2unix touchgfx/framework/tools/textconvert/main.rb
dos2unix touchgfx/framework/tools/videoconvert/videoconvert.rb