2011-09-16 17 views
2

Windows 7にMinGWコンパイラをインストールしました.GCCバージョンは4.6.1です。Windows 7でのC/C++アプリケーションのクロスコンパイル(LinuxでMinGWを使用)

私はHello Worldアプリケーションがあります。私は再コンパイルせずに、Linuxではこのアプリケーションを実行することができるようにするために、MinGWのコンパイラを使用して、Windows 7の下に、このアプリケーションをコンパイルするにはどうすればよい

#include <stdio.h> 

int main(int argc, char* argv[]) 
{ 
    printf("Hello World!"); 
    return 0; 
} 

を。

+3

ELFとPEの実行形式は実際には同じバイナリ形式ではありません。 – Benoit

+0

MinGWはアプリケーションをクロスコンパイルできますか? –

答えて

2

あなたはここでは2つのシステムを区別する必要があります:あなたのコンパイラを動作させているものですビルドシステム、および実行可能ファイルが動作するものであるホストシステムを、。 MinGWは、ホストシステムのWindows用のGCCコンパイラです。したがって、Windows用のWindowsでコンパイルするか、Windows用のLinuxでクロスコンパイルすることができます。 Cygwinに組み込まれているLinuxをホストするWindowsをビルドするためのクロスコンパイラを探しています。

しかし、一般に、Windowsは開発用ではなくエンドユーザー専用のシステムとして、また開発者用のUNIXシステムとして使用されるため、このようなことは十分にサポートされていません。だから、あなたはあまりにも多くの人が行うことはありませんここにストリームに対してコンパイルしている。

2

私はMinGWがLinuxバイナリを生成できるクロスコンパイラを提供しているとは思いません。

これはCygwinを使用して行うことができます。これらはクロスコンパイラを提供するので、Windowsホスト上でLinuxバイナリをコンパイルできます。必要なパッケージをインストールするだけです。

関連する問題