gnupack/cygwin
Windows上でgnupack(cygwin)のgccを使う方法。
MinGWではなく、普通にgccを使う。
メリット
- 手軽
- とりあえず、すぐ動かせる
デメリット
- コンパイル後のexeを実行するには、cygwin.dllが必要になる
コンパイル例
gcc test.c
MinGW
gnupackでMinGWを使う
gnupackでMinGWを使う方法。
環境を作ってしまえば、結構使える。
メリット
- exe単体で実行可能。(cygwin.dll等が不要)
- コンパイラだけでなく、環境として整備しやすい
デメリット
- 環境を整えるのがちょっと手間
コンパイル例
i686-w64-mingw32-gcc test.c
Msys2でMinGWを使う
Msys2にMinGWを使う方法。
gnupackとほぼ同じ。
LinuxでMinGWを使う(クロスコンパイル)
MinGWはLinuxで使えるので、Linux上でクロスコンパイルする方法。
実行確認はwineを使うか、windowsにexeをコピーして実行する。
メリット
- 普段Linuxで開発している場合は、そのままの環境が使える。
デメリット
- Windowsでの確認の際にexeをコピーする必要がある(wine使ってもいいけど)
- 環境を整えるのがちょっと面倒
コンパイル例
i686-w64-mingw32-gcc test.c
知っておいたほうがいいコンパイルオプション
オプション | 意味 |
---|---|
-s | strip。オブジェクトファイルのシンボルを削除することによってもファイルサイズを小さくする |
-static | 実行時にdllがありません。とか出たら static にして実行バイナリにライブラリを組み込む。 |
-mwindows | コンソールアプリではなく、ウインドウを使うようなアプリをコンパイルするときに必要 |
[カテゴリ: プログラミング言語 > C]
[通知用URL]
Tweet
最終更新時間:2020年04月27日 21時43分27秒