Go ZeroMQ: Linker-Probleme beim Versuch, VS-Code unter Windows zu erstellen

PHPz
Freigeben: 2024-02-14 23:10:14
nach vorne
1310 Leute haben es durchsucht

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

PHP-Editor Zimo ist beim Versuch, Go ZeroMQ auf einem Windows-System beim Erstellen von VS-Code zu verwenden, auf ein Linker-Problem gestoßen. Dieses Problem tritt während der Kompilierung auf und führt dazu, dass der Build fehlschlägt. Um dieses Problem zu lösen, führte der Herausgeber eine Reihe von Untersuchungen und Versuchen durch und fand schließlich eine Lösung. In diesem Artikel werden die Hintergründe und Ursachen dieses Linker-Problems ausführlich vorgestellt und die Lösung vorgestellt, in der Hoffnung, anderen Entwicklern dabei zu helfen, ähnliche Probleme schnell zu lösen.

Frageninhalt

Kurz gesagt möchte ich Folgendes tun: Verwenden Sie https://github.com/pebbe/zmq4 und führen Sie ein einfaches Beispiel wie „Hallo Welt“ in vs-Code unter Windows aus. Beim Bauen erhalte ich solche Fehler

<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'
Nach dem Login kopieren

Was ich bisher gemacht habe:

  • Installieren Sie Visual Studio, wie es für die vcpkg-Installation erforderlich ist
  • Installieren Sie libzmq mit vcpkg.exe install libzmq:x64-windows (Standard ist eine 32-Bit-Installation, was das erste Mal ist, dass ich es versehentlich gemacht habe. Ich hoffe, es gibt keine alten Probleme, die Probleme verursachen.)
  • Legen Sie die erforderlichen Go-Umgebungsvariablen im vs-Code-Terminal (Powershell) fest. Nach einigen Versuchen scheint es mir, dass dies getan werden muss:
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'
Nach dem Login kopieren
  • Installieren Sie tdm-gcc
  • Fügen Sie <windows homedir>tdm-gcc-64bin<windows homedir>vcpkginstalledx64-windowslib<windows homedir>vcpkginstalledx64-windowsinclude zur Umgebungsvariablen %path% hinzu

Ich verwende die Go-Version go1.18.4 Windows/AMD64 und Vs-Code 1.74.1 unter Windows 10 Enterprise.

Ich habe keine Ahnung, was ich als nächstes versuchen soll, daher wäre ich für jeden Tipp sehr dankbar.

Problemumgehung

Ich habe die falsche Syntax für Linker-Flags verwendet. https://github.com/pebbe/zmq4 Bring mich auf den falschen Weg. Es sollte sein CGO_LDFLAGS='-L <Windows Homedir>/vcpkg/installed/x64-windows/lib -l libzmq-mt-4_3_4'

Das obige ist der detaillierte Inhalt vonGo ZeroMQ: Linker-Probleme beim Versuch, VS-Code unter Windows zu erstellen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:stackoverflow.com
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage