普段、CのプログラムはCygwinのgccでコンパイルしていた。
出来た実行ファイルもCygwin上で走らせていたが、ふとアイコンをダブルクリックしてみて、実行できないことに気づいた。
「cygwin1.dllが見つからなかったため、このアプリケーションを開始できませんでした。アプリケーションをインストールし直すとこの問題は解決される場合があります。」
という表示が出る。
ググってみると、こんなページを見つけた。
$ objdump -p hoge.exe | grep -i '\.dll'
上のように打ってみて、cygwin1.dllが必要になっていることが確認できた。
これを回避するには、gccの引数として、-mno-cygwinをつければいいということなのでやってみると、あっさり解決した。
とりあえず.bashrcに以下の行を追加しておいた。
alias gcc='gcc -mno-cygwin'
0 件のコメント:
コメントを投稿