Heim >Backend-Entwicklung >Golang >So kompilieren Sie gopacket erfolgreich unter Windows 64-Bit: Eine Schritt-für-Schritt-Lösung

So kompilieren Sie gopacket erfolgreich unter Windows 64-Bit: Eine Schritt-für-Schritt-Lösung

DDD
DDDOriginal
2024-10-30 22:26:30709Durchsuche

How to Successfully Compile gopacket on Windows 64-bit: A Step-by-Step Solution

Gopacket unter Windows 64-Bit kompilieren: Eine umfassende Anleitung

Problem:

Gopacket kann unter Windows 10 nicht kompiliert werden im 64-Bit-Modus (GOARCH=amd64), trotz erfolgreicher Kompilierung im 32-Bit-Modus (GOARCH=386). Der aufgetretene Fehler ist:

c:/WpdPack/Lib/x64/wpcap.lib: error adding symbols: File in wrong format
collect2.exe: error ld returned 1 exit status

Lösung:

Um gopacket unter Windows 64-Bit erfolgreich zu kompilieren, sind die folgenden Schritte unerlässlich:

  1. Erforderliche Komponenten installieren:

    • Installieren Sie go_amd64 und fügen Sie es zu Ihrem PATH hinzu.
    • Installieren Sie TDM GCC x64 und fügen Sie die Binärdateien zu Ihrem hinzu PFAD.
    • TDM-GCCx86_64-w64-mingw32bin zu Ihrem PFAD hinzufügen.
    • Winpcap installieren.
  2. Fehlende statische Aufladung generieren Bibliotheken:

    • Laden Sie das Winpcap Developers' Pack herunter und extrahieren Sie es nach C:.
    • Kopieren Sie wpcap.dll und packet.dll von c:windowssystem32 in einen temporären Ordner.
    • Generieren Sie .def-Dateien, indem Sie gendef wpcap.dll und gendef packet.dll ausführen.
    • Erstellen Sie die statischen Bibliotheken libwpcap.a und libpacket.a mit dlltool-Befehlen:

      • 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
    • Kopieren Sie beide generierten .a-Dateien nach c :WpdPackLibx64.
  3. Kompilierung:

    • Nach Abschluss dieser Vorbereitungen sollte gopacket nun fehlerfrei kompiliert werden.

Zusätzliche Hinweise:

  • Die bereitgestellte Lösung erfordert die Installation von TDM GCC x64, das die notwendigen Tools für die 64-Bit-Kompilierung bereitstellt unter Windows.
  • Das Kopieren von wpcap.dll und packet.dll in einen temporären Ordner ist unerlässlich, da möglicherweise Administratorrechte erforderlich sind, um gegendef an ihren Systemspeicherorten auszuführen.
  • Stellen Sie sicher, dass alle Pfade vorhanden sind richtig eingestellt und dass notwendige Variablen (z. B. GOARCH) entsprechend spezifiziert sind.

Das obige ist der detaillierte Inhalt vonSo kompilieren Sie gopacket erfolgreich unter Windows 64-Bit: Eine Schritt-für-Schritt-Lösung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn