>백엔드 개발 >Golang >Windows 64비트에서 gopacket을 성공적으로 컴파일하는 방법: 단계별 솔루션

Windows 64비트에서 gopacket을 성공적으로 컴파일하는 방법: 단계별 솔루션

DDD
DDD원래의
2024-10-30 22:26:30706검색

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

Windows 64비트에서 gopacket 컴파일: 종합 가이드

문제:

Windows 10에서 gopacket을 컴파일할 수 없습니다. 32비트 모드(GOARCH=386)에서 성공적으로 컴파일했음에도 불구하고 64비트 모드(GOARCH=amd64)에서 발생합니다. 발생한 오류는 다음과 같습니다.

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

해결책:

Windows 64비트에서 gopacket을 성공적으로 컴파일하려면 다음 단계가 필수적입니다.

  1. 필수 구성 요소 설치:

    • go_amd64를 설치하고 PATH에 추가합니다.
    • TDM GCC x64를 설치하고 바이너리를 PATH에 추가합니다. PATH.
    • PATH에 TDM-GCCx86_64-w64-mingw32bin을 추가합니다.
    • Winpcap을 설치합니다.
  2. 누락된 정적 생성 생성 라이브러리:

    • Winpcap 개발자 팩을 다운로드하고 C:에 압축을 풉니다.
    • c:windowssystem32에서 wpcap.dll 및 packet.dll을 임시 폴더에 복사합니다.
    • gendef wpcap.dll 및 gendef packet.dll을 실행하여 .def 파일을 생성합니다.
    • dlltool 명령을 사용하여 libwpcap.a 및 libpacket.a 정적 라이브러리를 생성합니다.

      • 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
    • 생성된 두 .a 파일을 모두 c에 복사합니다. :WpdPackLibx64.
  3. 컴파일:

    • 이러한 준비가 완료되면 gopacket은 이제 오류 없이 컴파일됩니다.

추가 참고 사항:

  • 제공된 솔루션을 사용하려면 64비트 컴파일에 필요한 도구를 제공하는 TDM GCC x64를 설치해야 합니다. Windows의 경우.
  • wpcap.dll 및 packet.dll을 임시 폴더에 복사하는 것은 시스템 위치에서 gendef를 실행하려면 관리자 권한이 필요할 수 있으므로 필수적입니다.
  • 모든 경로가 올바른지 확인하세요. 올바르게 설정되었는지, 필요한 변수(예: GOARCH)가 적절하게 지정되었는지 확인하세요.

위 내용은 Windows 64비트에서 gopacket을 성공적으로 컴파일하는 방법: 단계별 솔루션의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.