まず
- linux上で実行できるファイルは拡張子なし
- Windows上では拡張子なしのファイルは実行できない
というのをおさえておいて下さい。
次に,各コンパイラで生成されるファイル名は次の通りです。
g++ -o sample sample.cpp
で生成される実行ファイル
環境 | ファイル名 |
---|
wsl(linux) | sample |
powershell | sample.exe |
mingw64 | sample.exe |
次に./sample
コマンドで実行されようとするファイルを一覧にしたものです。
powershell
は「windowsの実行ファイルは必ずexe
とかbat
の拡張子がある」
ということを知っているので,自動で拡張子を付け加えます。
git bash
は素直に./sample
と拡張子なしのファイルを実行しようとします。
おそらく./sample
の実行ファイルはwsl(linux)環境で生成したファイルなので
windows上では動作しません。(これがエラーの原因)
./sample
で実行しようとするファイル
環境 | ファイル名 |
---|
wsl(linux) | ./sample |
powershell | ./sample.exe |
git bash | ./sample |
最後に各環境で実行可能なファイルです。
実行可能なファイル
環境 | ファイル名 |
---|
wsl(linux) | ./sample |
powershell | ./sample.exe |
git bash | ./sample.exe |
つまり,git bash
では実行方法は./sample.exe
でなければなりません。
ただgit bash
でも,もし./sample
が無ければ./sample.exe
が実行できていたかもしれません。
この辺りは各々コンパイル・実行後に生成した実行ファイルのファイル名・タイムスタンプ確認&実行ファイル削除をしていたなら自分で解決していたはずです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/09/06 04:06