M5Stack(PlatformIO)環境での奇妙なエラーと回避方法

謎のエラーメッセージ

UnicodeDecodeError: ‘cp932’ codec can’t decode byte 0x98 in position 134: illegal multibyte sequence

というエラーメッセージで、C++(Arduino)のswitch~case文の中で起きました。「multibyte」とありますが、特に日本語を使ってるとかはありません。

case 0xc0:
    uint8_t r = 0x00;
    break;

色々と試行錯誤したところ、case文のコードを中括弧({})で囲むと、コンパイルエラーが消えてくれました。

case 0xc0:
    {
        uint8_t r = 0x00;
    }
    break;

ビルド環境

  • VisualStudioCode(1.47.2)
  • PlatformIO-Core(4.3.4)
  • PlatformIO-Home(3.2.3)
  • platformio.iniは以下。
[env:m5stack-core-esp32]
platform = espressif32@1.12.4
board = m5stack-core-esp32
framework = arduino
monitor_speed = 115200
lib_deps =
  # Using a library name
    EL_dev_arduino
    M5Stack@0.2.8
build_flags =
    -D EL_DEBUG

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です