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

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

PHPz
Lepaskan: 2024-02-14 23:10:14
ke hadapan
1342 orang telah melayarinya

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'
Salin selepas log masuk

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'
Salin selepas log masuk
  • Pasang tdm-gcc
  • Tambahkan <windows homedir>tdm-gcc-64bin<windows homedir>vcpkginstalledx64-windowslib<windows homedir>vcpkginstalledx64-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 <Windows Homedir>/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!

sumber:stackoverflow.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan