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.
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 protected]/wrappers_windows.go:27: undefined reference to `__imp_zmq_bind'
Apa yang saya lakukan setakat ini:
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.) 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'
<windows homedir>tdm-gcc-64bin
、<windows homedir>vcpkginstalledx64-windowslib
和 <windows homedir>vcpkginstalledx64-windowsinclude
pada %path% pembolehubah persekitaranSaya 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.
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!