ホームページ >バックエンド開発 >Golang >Windows 64 ビットで「ファイルの形式が間違っています」エラーが発生して Gopacket をコンパイルするにはどうすればよいですか?

Windows 64 ビットで「ファイルの形式が間違っています」エラーが発生して Gopacket をコンパイルするにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-29 12:51:29607ブラウズ

How to Compile Gopacket on Windows 64-bit with

Windows 64 ビットで Gopacket をコンパイルする

問題:

gopacket をコンパイルしようとしたとき64 ビット版 Windows 10 (GOARCH=amd64) では、wpcap シンボルをバイナリに追加すると、「ファイルの形式が間違っています」というエラーが発生します。

解決策:

Windows 64 ビットで gopacket を正常にコンパイルするには、次の手順に従います。

  1. 64 ビット用 Go をインストールします (go_amd64)。
  2. TDM GCC x64 をインストールし、そのバイナリをPATH 変数。
  3. TDM-GCC x86_64-w64-mingw32bin ディレクトリを PATH 変数に追加します。
  4. Winpcap をインストールします。
  5. Winpcap 開発者パックをダウンロードし、C に解凍します。 :.

Winpcap 開発者パックには Linux 静的ライブラリ (libwpcap.a および libpacket.a) が不足しているため、手動で生成します:

  1. wpcap.dll とパケットをコピーします。 dll を一時フォルダーにコピーします。
  2. 両方のファイルで gendef を実行して .def ファイルを生成します。
  3. 次のコマンドで dlltool を使用して静的ライブラリを生成します。
dlltool --as-flags=--64 -m i386:x86-64 -k --output-lib libwpcap.a --input-def wpcap.def
dlltool --as-flags=--64 -m i386:x86-64 -k --output-lib libpacket.a --input-def packet.def
  1. libwpcap.a と libpacket.a を C:WpdPackLibx64 にコピーします。

これらの手順が完了すると、Windows 64 ビットで gopacket がエラーなしでコンパイルされるはずです。

以上がWindows 64 ビットで「ファイルの形式が間違っています」エラーが発生して Gopacket をコンパイルするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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