hello world」。"/> hello world」。">

ホームページ  >  記事  >  運用・保守  >  mingw のコンパイル済みバージョンは Linux 上で実行できますか?

mingw のコンパイル済みバージョンは Linux 上で実行できますか?

藏色散人
藏色散人オリジナル
2023-03-24 11:00:012129ブラウズ

コンパイルされた Minw は Linux で実行できます。コンパイル方法は次のとおりです: 1. 「sudo apt-get install wine -development wine ~」コマンドを使用して mingw32 をインストールします。「sudo apt-get install wine -development wine ~」を実行します。 /hello.exe >hello world」。

mingw のコンパイル済みバージョンは Linux 上で実行できますか?

このチュートリアルの動作環境: 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。