Cygwinのライブラリに依存しないバイナリを生成する

WindowsでC言語のプログラムを作成する時によく用いられる環境の1つとして、Cygwinが挙げられます。CygwinはWindows上でUnixを擬似的に再現した環境のことで、完全な互換性は無いものの、多くの場合は問題なく利用することができます。

しかし、そんなCygwinでもデフォルトではいくつか問題があります。その1つとして、Cygwin上でコンパイルしたプログラムはCygwin1.dllというライブラリがないと動作しないという点です。これはつまり、Cygwinでコンパイルしたプログラムは、Cygwinが入っている環境でしか実行できないというわけです。これでは、Cygwinが入っていない環境で実行したい場合などは非常に困ってしまいます。

そのような対応するために、Cygwinのgccでは「-mno-cygwin」というオプションが提供されています。これを利用することで、Cygwin1.dllがない環境であってもバイナリを実行できるようになります。

このオプションを付加することによって起こりえる問題もあるのですが、それについてはここでは割愛します。下記のウェブページでは、より詳細に紹介されています。

[web] "-mno-cygwin"- Cygwin を使用した MinGW 実行形式のビルド - Studio Sixnine.
[web] Cygwin - Wikipedia

Track Back

Track Back URL

コメントする

公開されません

refresh captcha

画像の中に見える文字を入力してください。

このページの上部へ

About

tetsuの日記・雑記です。
日々経験したことを記録していきます。

広告

サイト内検索

最近のピクチャ

  • リアディレーラ

月別アーカイブ

最近のコメント