2/22日記 ===== プログラミング(思考順) ===== * WSL上でコンパイル環境をだいぶ整えて楽しくなってきたので、次はアプリケーションの構築にフォーカスを絞る。 * そもそもWindowsのバイナリを作成できるのかという部分。 * 結論から言うと以下のとおり。 - Linux側の環境については、Linuxバイナリ出力に特化している - Windowsバイナリを作成するためにはクロスコンパイル環境を作る必要がある - もしくはWindows側で環境を構築し、出力する必要がある * これはいくつか準備したりコンパイルオプションを試したりして確認したが、そもそもGitで落としてきたソースが環境に依存しているところがあるのと、Windowsのヘッダについてどうやって取ってくるのかという問題が出てくる。 * クロスコンパイル環境が一番すっきりする反面準備が大変なのと、今までで言うところの「Windows環境でLinuxアプリのソースをビルドする」のと同様の問題がLinux環境でも発生する。 * 大人しくWindows側の環境を用意してビルドするのが早そうという結論。 * OSが選択できるだけでもありがたいのだけど。(WSL導入前はLinuxの環境を別に用意する必要があったわけで、その動作環境すら分かれてる状況は苦痛ですらあった) ---- * CMakeも入れておく。 * Windows側ではMinGWやVisualStudioのコンパイラも使えるのでそっちで対応しよう。 * と思ったらMSYS2いれるだけで楽に揃えられそう * 下記の文章はどちらかというとファイルやフォルダパスの区切りを自動で変更するよというものらしい。(MSYS2の設定使うってことなんだろうな) * https://qiita.com/fockl/items/d2e65668f0413af001ec * https://www.msys2.org/#installation * コマンドは「cmake ./ -G "MSYS Makefiles"」の方が良い。これはフォルダに対してcmakeを行うという形なので、無難。 * MSYS2は実行形式が分かれてるけど下記の様。 * https://www.msys2.org/docs/environments/ ---- * 基本方針 * Linux環境での動作がOKであればWSLを利用し、コンパイル環境を構築する * バイナリ出力が必要な場合、Windows側のコンパイル環境をそろえる