Building
ビルド(コンパイル)について

ESP32(M5Stack)

開発環境は以下のリンクを参照ください。
最初に上記ライブラリに含まれるサンプルスケッチをビルド、書き込みを行ってください。

MWM5ライブラリのインストール

MWM5ライブラリは https://github.com/monowireless/mwm5 で配布しています。ソースファイル一式をダウンロードしてください。本ドキュメント記載時点に一致するバージョンは変更履歴に記載があります。
変更履歴にある zip ファイルをダウンロードして、開発環境の指定するlibraryディレクトリに展開するか、開発環境の「zip形式のライブラリのインストール」を行ってください。アンインストールはライブラリディレクトリを削除します。

外部ライブラリ

  • PS2Keyboard - http://www.pjrc.com/teensy/td_libs_PS2Keyboard.html esp32/PS2Keyboard.7z をライブラリディレクトリに展開してください。ビルド時に必要になります。 PS2Keyboard プロジェクトの成果物に対して 1) 日本語レイアウトのキーボード対応 2) カーソルキー等の取り扱いの微調整を実施しています。修正内容はソースコードを参照ください。

Windows10

Windows10ではVisual Studio 2019でビルドを行っています。また MingW32 用のビルド定義も含めています。

MingW64

以下が必要になります。
  • make
  • gcc9 (gcc-9, g++-9)

macOS

以下が必要になります。
  • make XCodeに付随します。OS バージョンにもよりますが、ターミナルで make と入力すればインストーラーが起動します。
  • gcc9 (gcc-9, g++-9) homebrew のパッケージをダウンロードして利用します。
macOS 10.15 (Catalina) では、clangを用いることも可能です。オプションOSX_COMPILERTYPE=clangを追加してmakeしてください。
※ C++17 の filesystem ライブラリがバージョン依存になります。10.15以前ではビルドできず、またビルドしたバイナリを10.14以前で動作させることもできません。

Linux

以下が必要になります。
  • gcc9 (gcc-9, g++-9)
  • SDL2 開発者向けライブラリ (libsdl2-dev) SDL2 のライブラリやヘッダファイルは、ソースパッケージに添付していますが、依存ライブラリのリンクに必要です。

ビルド方法

M5Stack

以下を参考にしてください
TWELITE_Stage アプリは examples/TWELITE_Stage にあります。M5Stackライブラリ導入後、このフォルダに対してビルドしてください。

Windows Visual Studio

  1. 1.
    プロジェクト MWM5.sln を開きます。
  2. 2.
    Sketch>TWELITE_Stage をスタートアッププロジェクトにします。 必須ではありませんが、デバッガを起動する際などにこのプロジェクトが選択されます。
  3. 3.
    Debug/Release のいずれかを選択します。
  4. 4.
    32bit/64bit のいずれかを選択します。
  5. 5.
    Sketch>TWELITE_Stage を右クリックしてビルドを選択します。
  6. 6.
    実行形式は msc\Release msc\Debug などのディレクトリに格納されます。

macOS, Linux, Windows (MingW64)

  1. 1.
    コマンドプロンプト、シェルを開きます。
  2. 2.
    make, gcc-9, g++-9 が動作することを確認します。
  3. 3.
    {ソースコードを展開したディレクトリ}/examples/{ビルドしたいプロジェクト:例 TWELITE_Stage}/build に移動します。
  4. 4.
    make を実行します。

make オプション

オプション
内容
DEBUG_BUILD=1
デバッグビルドを行います。デバッガを使用する場合に使います。
OSX_COMPILERTYPE=clang
clang でビルドします (OS X のみ)

make ファイルについて

make のルール本体は {ソースコードを展開したディレクトリ}/mkfiles 以下に格納しています。
ファイル名
内容
mwm5.mk
コンパイルするファイルなどの定義
rules.mk
コンパイルのルール
arch.mk
実行OSの判定
arch_linux.mk
Linux用の諸定義
arch_mac.mk
macOS用の諸定義
arch_win.mk
MingW64用の諸定義

デバッグについて

VSCode用のTWELITE STAGE 用のデバッガ起動定義(.vscode/launch.json)を含めています。環境に合わせて利用ください。

参考OS X用の定義

1
{
2
"name": "(lldb/mac) TWELITE_Stage",
3
"type": "cppdbg",
4
"request": "launch",
5
"program": "${workspaceFolder}/examples/TWELITE_Stage/build/TWELITE_Stage-debug.command",
6
"args": [],
7
"stopAtEntry": true,
8
// "cwd": "${workspaceFolder}",
9
"cwd": "${workspaceFolder}/../MWSDK",
10
"environment": [],
11
"externalConsole": false,
12
"MIMode": "lldb"
13
}
Copied!
  • stopAtEntryは、main()の先頭で停止する設定で false でも構わない。
  • externalConsoleは、falseでないと起動しない。
  • cwdは、TWELITE STAGEの場合 MWSDKディレクトリを指定する。
Last modified 1yr ago