いろいろ備忘録日記

主に .NET とか Go とか Flutter とか Python絡みのメモを公開しています。

Flutterメモ-26 (既存のプロジェクトにWindows Desktopを追加)

f:id:gsf_zero1:20211222152114p:plain

概要

以下、自分用のメモです。忘れないうちにメモメモ。。

Flutter 2.10 から Windows Desktop 機能が Stable となりました。

devlights.hatenablog.com

んで、既存のプロジェクトにWindows Desktop機能を追加するやり方についてメモメモ。。。

flutter config で有効にする

まず、flutter config で Windows Desktop を有効にします。

$ flutter config --enable-windows-desktop
Setting "enable-windows-desktop" value to "true".

You may need to restart any open editors for them to read new settings.

プロジェクトに Windows Desktop のソースを追加

次に Windows Desktop のソースをflutterで追加してもらいます。こんな感じ。

$ flutter create --platforms=windows --project-name tryflutter .
Recreating project ....
  test\widget_test.dart (created)
  windows\.gitignore (created)
  windows\CMakeLists.txt (created)
  windows\flutter\CMakeLists.txt (created)
  windows\runner\CMakeLists.txt (created)
  windows\runner\flutter_window.cpp (created)
  windows\runner\flutter_window.h (created)
  windows\runner\main.cpp (created)
  windows\runner\resource.h (created)
  windows\runner\resources\app_icon.ico (created)
  windows\runner\runner.exe.manifest (created)
  windows\runner\Runner.rc (created)
  windows\runner\utils.cpp (created)
  windows\runner\utils.h (created)
  windows\runner\win32_window.cpp (created)
  windows\runner\win32_window.h (created)
Running "flutter pub get" in try-flutter...                      2,833ms
Wrote 16 files.

All done!
In order to run your application, type:

  $ cd .
  $ flutter run

Your application code is in .\lib\main.dart.

実行してみる

実行は以下のようにします。

$ flutter run -d windows

このとき、以下のようなエラーが出るかもしれません。

$ flutter run -d windows
Launching lib\main.dart on Windows in debug mode...
Exception: Building with plugins requires symlink support.

Please enable Developer Mode in your system settings. Run
  start ms-settings:developers

開発者モードをONにしろって言ってますね。なので

$ start ms-settings:developers

ってすると、設定アプリの「開発者向け」ってパネルが表示されますので

f:id:gsf_zero1:20220207114419p:plain

をONにします。

参考情報


過去の記事については、以下のページからご参照下さい。

サンプルコードは、以下の場所で公開しています。