Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Go ZeroMQ: Isu pemaut apabila cuba membina Kod VS pada Windows

Go ZeroMQ: Isu pemaut apabila cuba membina Kod VS pada Windows

PHPz
PHPzke hadapan
2024-02-14 23:10:141248semak imbas

Go ZeroMQ:尝试在 Windows 上构建 VS Code 时出现链接器问题

Editor PHP Zimo menghadapi masalah pemaut apabila cuba menggunakan Go ZeroMQ pada sistem Windows semasa membina Kod VS. Masalah ini berlaku semasa penyusunan dan menyebabkan binaan gagal. Untuk menyelesaikan masalah ini, editor menjalankan beberapa siri penyiasatan dan percubaan, dan akhirnya menemui penyelesaian. Artikel ini akan memperkenalkan latar belakang dan punca masalah pemaut ini secara terperinci, dan berkongsi penyelesaiannya, dengan harapan dapat membantu pembangun lain menyelesaikan masalah yang serupa dengan cepat.

Kandungan soalan

Ringkasnya, saya ingin melakukan perkara berikut: Gunakan https://github.com/pebbe/zmq4 dan jalankan contoh mudah seperti hello world in vs code pada windows. Semasa membina, saya mendapat jenis ralat ini

<windows homedir>/tdm-gcc-64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: $work\b299\_x008.o: in function `zmq4_bind':
<gopath>/pkg/mod/github.com/pebbe/[email&#160;protected]/wrappers_windows.go:27: undefined reference to `__imp_zmq_bind'

Apa yang saya lakukan setakat ini:

  • Pasang visual studio kerana ia diperlukan untuk pemasangan vcpkg
  • Pasang libzmq menggunakan vcpkg.exe install libzmq:x64-windows (Lalainya ialah pemasangan 32-bit, yang merupakan kali pertama saya tersilap melakukannya. Saya harap tidak ada sebarang isu legasi yang menyebabkan masalah.)
  • Tetapkan pembolehubah persekitaran go yang diperlukan dalam terminal vs kod (powershell). Selepas beberapa kali mencuba, nampaknya ini mesti dilakukan:
go env -w CGO_CFLAGS='-I <Windows Homedir>\vcpkg\installed\x64-windows\include'
go env -w CGO_LDFLAGS='-LD:<Windows Homedir>\vcpkg\installed\x64-windows\lib -L:libzmq-mt-4_3_4.lib'
  • Pasang tdm-gcc
  • Tambahkan 463db8000df5bbb698520c066bc41f09tdm-gcc-64bin463db8000df5bbb698520c066bc41f09vcpkginstalledx64-windowslib463db8000df5bbb698520c066bc41f09vcpkginstalledx64-windowsinclude pada %path% pembolehubah persekitaran

Saya menggunakan go versi go1.18.4 windows/amd64 dan vs kod 1.74.1 pada windows 10 enterprise.

Saya tidak tahu apa yang perlu dicuba seterusnya jadi sebarang petua akan sangat dihargai.

Penyelesaian

Saya menggunakan sintaks yang salah untuk bendera pemaut. https://github.com/pebbe/zmq4 Letakkan saya di jalan yang salah. Sepatutnya CGO_LDFLAGS='-L d56d737ffc497ec92db023dcb17d6ed5/vcpkg/installed/x64-windows/lib -l libzmq-mt-4_3_4'

Atas ialah kandungan terperinci Go ZeroMQ: Isu pemaut apabila cuba membina Kod VS pada Windows. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam