コンパイルされた Minw は Linux で実行できます。コンパイル方法は次のとおりです: 1. 「sudo apt-get install wine -development wine ~」コマンドを使用して mingw32 をインストールします。「sudo apt-get install wine -development wine ~」を実行します。 /hello.exe >hello world」。
このチュートリアルの動作環境: ubuntu18.04 システム、mingw32、Dell G3 コンピューター。
mingw のコンパイル済みバージョンは Linux 上で実行できますか? #########できる。
Linux プラットフォームの Windows プログラムのクロスコンパイル
コンパイル テスト環境: ubuntu18.04
ステップ 1: mingw32 のインストール
sudo apt-get install mingw-w64
sudo apt-get install mingw-w64-tools
sudo apt-get install mingw-w64-i686-dev
sudo apt-get install mingw-w64-x86-64-dev
ログイン後にコピー
上記は以下で繰り返される場合があります。労力を節約するために、直接インストールしました。
インストール後、コードをコンパイルできます
i686-w64-mingw32-gcc -o hello.exe hello.c
ログイン後にコピー
パート 2: コンパイルされたプログラムをテストします
コンパイルされた exe ファイルは、「テスト対象」にコピーできます。 Windows 上で実行できますが、労力を節約するために、Linux 上で直接実行したいと考えています。これには完全なワインが必要です。
sudo apt-get install wine-development
wine ~/hello.exe
>hello world
ログイン後にコピー
パート 3: 64 ビット プログラムのコンパイル
x64 ビット プログラムをコンパイルする必要があるが、テストの結果、プログラムが 32 ビット プログラムであることが判明したためです。 。
x86_64-w64-mingw32-gcc -o hello64.exe hello.c
ログイン後にコピー
パート 4: Windows での pthread ライブラリの使用
pthread は非常に使いやすいですが、Windows にはデフォルトでは pthread ライブラリがありません。
i686-w64-mingw32-gcc -o pthread_create.exe pthread_create.c -lpthread -D__WIN32
ログイン後にコピー
実際には、これが直接コンパイルされていることがわかり、mingw32 に pthread ライブラリが含まれていることを示しています。
Windows にアクセスして実行すると、「libwinpthread-1.dll..........見つかりません」と報告されました。
/usr/i686- を直接コピーしました。 w64-mingw32/ lib フォルダー内の libwinpthread-1.dll ファイルを Windows にコピーします。うまくいくことがわかりました。
十分にシンプルですが、十分にラフですよね?しかし、これは本当に素晴らしいです。
実際、Windows で pthread ライブラリもダウンロードしましたが、残念ながらまだライブラリが見つからないと報告されました。おそらく gcc が暗黙的にロードされていないのかもしれません。
MinGWコンパイラにlibgcc_s_dw2-1.dllがない問題について
リンク時にデフォルトで動的リンクが使用されることが判明、相手のコンピュータには依存関係のある DLL モジュールがありません。
そこで、リンクの後にコマンドを追加しました:
-static-libstdc++ -static-libgcc
ログイン後にコピー
関連する推奨事項: "
Linux ビデオ チュートリアル
"
以上がmingw のコンパイル済みバージョンは Linux 上で実行できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。