Heim  >  Artikel  >  Backend-Entwicklung  >  Go ZeroMQ: Linker-Probleme beim Versuch, VS-Code unter Windows zu erstellen

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

PHPz
PHPznach vorne
2024-02-14 23:10:141248Durchsuche

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'

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'
  • Installieren Sie tdm-gcc
  • Fügen Sie 463db8000df5bbb698520c066bc41f09tdm-gcc-64bin463db8000df5bbb698520c066bc41f09vcpkginstalledx64-windowslib463db8000df5bbb698520c066bc41f09vcpkginstalledx64-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 d56d737ffc497ec92db023dcb17d6ed5/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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen