Linux から Windows へ C++ アプリケーションをクロスコンパイルするためのマニュアルはありますか?
それだけ。それを行うためのガイドとなる情報 (リンク、参照、例など) が必要です。
それが可能かどうかさえわかりません。
私の目的は、Linux でプログラムをコンパイルし、Windows で実行できる .exe ファイルを取得することです。
Linux から Windows へ C++ アプリケーションをクロスコンパイルするためのマニュアルはありますか?
それだけ。それを行うためのガイドとなる情報 (リンク、参照、例など) が必要です。
それが可能かどうかさえわかりません。
私の目的は、Linux でプログラムをコンパイルし、Windows で実行できる .exe ファイルを取得することです。
基本はそれほど難しくありません:
sudo apt-get install mingw32
cat > main.c <<EOF
int main()
{
printf("Hello, World!");
}
EOF
i586-mingw32msvc-cc main.c -o hello.exe
、またはLinuxディストリビューションが使用するものにapt-get
置き換えます。yum
これにより、Windows用のが生成さhello.exe
れます。
頭を悩ませたら、autotoolsを使用して設定できますCC=i586-mingw32msvc-cc
CC=i586-mingw32msvc-cc ./configure && make
または、CMakeとツールチェーンファイルを使用してビルドを管理します。さらに難しいのは、ネイティブクロスライブラリを追加することです。通常、これらはに保存され/usr/cross/i586-mingw32msvc/{include,lib}
、ビルドプロセスの構成ステップでこれらのパスを個別に追加する必要があります。
それはあなたが何を意味するかによります(私は本当に言えませんでした)。
Windows で既存の Linux アプリケーションを使用する場合は、Windows でCygwinを使用してコンパイルしてみてください。ただし、これにより、Cygwin に対するすべての依存関係から解放された Windows 実行可能ファイルが得られるわけではありません (実行可能ファイルは依然としてcygwin.dll
ファイルに依存しています)。http://www.cygwin.comを参照してください。
Linux 上で Windows アプリケーションの実際のコンパイルを実行し、Windows 上で実行可能な .exe ファイルを生成できるようにしたい場合、つまり開発やコンパイルに Linux ボックスを使用する場合は、MinGWを調べる必要があります。 Linux 上の Windows 用のクロスコンパイル用ツールである Linux。http://www.mingw.org/wiki/LinuxCrossMinGWを参照してください。
よろしくお願いします!
次のGUB (Grand Unified Builder)を試してみることをお勧めします。これは、いくつかのパッケージをそれらの依存関係とともにクロスコンパイルし、現在11のアーキテクチャーの単一のインストールパッケージにアセンブルするためです。ここからVMにインストールするためのビルド済みISOをダウンロードし、ここからソースをたどることができます。現在、GNU LilyPond / GNU Denemo/InkscapeとOpenOffice.orgをクロスコンパイルするために使用できます。
ターゲットアーキテクチャは次のとおりです。