Linuxでfreeglutを使用してC ++(g ++)でいくつかの効果を記述し、それらを
g++ -Wall -lglut part8.cpp -o part8
それで、g ++が必要なすべてを含む静的にコンパイルされたWindows実行可能ファイルを作成できるかどうか疑問に思っていましたか?
私はWindowsを持っていないので、もしLinuxでそれができたら本当に素晴らしいです:)
Linuxでfreeglutを使用してC ++(g ++)でいくつかの効果を記述し、それらを
g++ -Wall -lglut part8.cpp -o part8
それで、g ++が必要なすべてを含む静的にコンパイルされたWindows実行可能ファイルを作成できるかどうか疑問に思っていましたか?
私はWindowsを持っていないので、もしLinuxでそれができたら本当に素晴らしいです:)
回答:
mingw32はLinux用のパッケージとして存在します。Windowsアプリケーションをクロスコンパイルしてリンクすることができます。Code :: Blocksフォーラムにチュートリアルがあります。x86_64-w64-mingw32-gcc-win32
たとえば、コマンドがに変わることに注意してください。
たとえば、UbuntuのリポジトリにはMinGWがあります。
$ apt-cache search mingw
[...]
g++-mingw-w64 - GNU C++ compiler for MinGW-w64
gcc-mingw-w64 - GNU C compiler for MinGW-w64
mingw-w64 - Development environment targeting 32- and 64-bit Windows
[...]
LinuxでWindows用にコンパイルする1つのオプションは、mingwを使用することです。ここで非常に役立つチュートリアルを見つけました。
Debianベースのシステムにmingw32をインストールするには、次のコマンドを実行します。
sudo apt-get install mingw32
コードをコンパイルするには、次のようなものを使用できます。
i586-mingw32msvc-g++ -o myApp.exe myApp.cpp
新しいWindowsアプリケーションをLinuxで直接テストしたい場合があります。そのためにワインを使用できますが、ワインにはバグがある可能性があることを常に念頭に置いておく必要があります。つまり、wine、プログラム、またはその両方にバグがあるかどうかわからない可能性があるため、wineは一般的なテストにのみ使用してください。
wineをインストールするには、次を実行:
sudo apt-get install wine
mingw32-binutils
とmingw32-runtime
、彼らはの依存関係であるため、mingw32
void main(){}
など...)がありました。Windowsではコンパイルされますが、mingwでは失敗します。修正しました。私も試してみたところi586-mingw32msvc-cpp
、コンパイルされるようなものでテキストファイルが生成されましたlol .. g ++の1つが機能しました。
mingw32
(「依存関係」としてマークされています。指定しても、指定されません(「手動」としてマークされます)。
推奨される方法でUbuntu 16.04でエラーが発生しました: E:パッケージmingw32が見つかりません
================================================== =========================
このパッケージをUbuntuにインストールするには、以下を使用してください。
sudo apt-get install mingw-w64
インストール後、次のように使用できます。
x86_64-w64-mingw32-g++
ご注意ください!
64ビットの場合: x86_64-w64-mingw32-g ++
32ビット用: i686-w64-mingw32-g ++
Linuxでmingwを使用してCでWindows実行可能ファイルを作成しましたが、C ++も同様に機能すると思います。
ELLCCというプロジェクトがあります。これは、clangなどをクロスコンパイラツールチェーンとしてパッケージ化したものです。Windows用のclang(C ++)、binutils、およびGDBをコンパイルするために使用します。ellcc.orgのダウンロードリンクから、いくつかのLinuxホスト用にコンパイル済みのバイナリを入手できます。
From:https : //fedoraproject.org/wiki/MinGW/Tutorial
Fedora 17以降、win32およびwin64ターゲットのバイナリを簡単にビルド(クロスコンパイル)することができます。これは、mingw-w64ツールチェーンを使用して実現されます:http ://mingw-w64.sf.net/ 。このツールチェーンを使用すると、C、C ++、Objective-C、Objective-C ++、およびFortranのプログラミング言語のバイナリを構築できます。
「Windowsクロスコンパイラーを使用するためのヒント」:https : //fedoraproject.org/wiki/MinGW/Tips
Fedoraの場合
sudo yum groupinstall -y "MinGW cross-compiler"