Maison >développement back-end >Golang >Comment compiler Gopacket sur Windows 64 bits avec l'erreur « Fichier au mauvais format » ?

Comment compiler Gopacket sur Windows 64 bits avec l'erreur « Fichier au mauvais format » ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-29 12:51:29607parcourir

How to Compile Gopacket on Windows 64-bit with

Compilation de Gopacket sur Windows 64 bits

Problème :

Lors de la tentative de compilation de gopacket sous Windows 10 pour 64 bits (GOARCH=amd64), une erreur se produit indiquant "Fichier au mauvais format" lors de l'ajout de symboles wpcap au binaire.

Solution :

Pour compiler avec succès gopacket sur Windows 64 bits, suivez ces étapes :

  1. Installez Go pour 64 bits (go_amd64).
  2. Installez TDM GCC x64 et ajoutez ses binaires au Variable PATH.
  3. Ajoutez le répertoire TDM-GCC x86_64-w64-mingw32bin à la variable PATH.
  4. Installez Winpcap.
  5. Téléchargez le pack du développeur Winpcap et extrayez-le en C :.

Le pack développeur Winpcap ne disposant pas des bibliothèques statiques Linux (libwpcap.a et libpacket.a), générez-les manuellement :

  1. Copiez wpcap.dll et le paquet. dll dans un dossier temporaire.
  2. Exécutez gendef sur les deux fichiers pour générer des fichiers .def.
  3. Générez les bibliothèques statiques à l'aide de dlltool avec les commandes suivantes :
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. Copiez libwpcap.a et libpacket.a dans C:WpdPackLibx64.

Une fois ces étapes terminées, gopacket devrait compiler sans erreur sous Windows 64 bits.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn