Heim  >  Artikel  >  Backend-Entwicklung  >  openSL-Fehler ld: Warnung: Verzeichnis für Option „-L/usr/local/opt/openssl/lib“ nicht gefunden

openSL-Fehler ld: Warnung: Verzeichnis für Option „-L/usr/local/opt/openssl/lib“ nicht gefunden

王林
王林nach vorne
2024-02-10 14:24:091015Durchsuche

openssl 错误 ld:警告:找不到选项 '-L/usr/local/opt/openssl/lib 的目录

Der PHP-Editor Banana hat bei der Verwendung von openssl einen Fehler mit der Meldung „ld: Warnung: Das Verzeichnis für die Option ‚-L/usr/local/opt/openssl/lib‘ kann nicht gefunden werden“ festgestellt. Dieser Fehler wird normalerweise dadurch verursacht, dass der Dateipfad der OpenSSL-Bibliothek falsch konfiguriert ist. Die Lösung für dieses Problem besteht darin, den korrekten Dateipfad der OpenSSL-Bibliothek in den Kompilierungsoptionen hinzuzufügen.

Frageninhalt

Beim Kompilieren des tdlib-Programms im Zusammenhang mit OpenSSL-Aufrufen ist ein Fehler aufgetreten.

/opt/homebrew/opt/go/libexec/pkg/tool/darwin_arm64/link: running cc failed: exit status 1
ld: warning: directory not found for option '-L/usr/local/opt/openssl/lib'
ld: library not found for -lssl
clang: error: linker command failed with exit code 1 (use -v to see invocation)

openssl wird mit brew:

installiert
which openssl
/opt/homebrew/bin/openssl
==> openssl@3: stable 3.1.2 (bottled)
Cryptography and SSL/TLS Toolkit
https://openssl.org/
/opt/homebrew/Cellar/openssl@3/3.1.2 (6,495 files, 28.4MB) *
  Poured from bottle using the formulae.brew.sh API on 2023-09-21 at 14:06:03
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/o/[email protected]
License: Apache-2.0

Ich habe versucht, pkg-config zu verwenden und die nächste Umgebung verfügbar zu machen, um dieses Problem zu lösen, aber nichts hat geholfen.

export CGO_CFLAGS=$(pkg-config --cflags openssl)
export CGO_LDFLAGS=$(pkg-config --libs openssl)

Workaround

Können Sie auch diese Flags überprüfen (.~/bashrc oder ~/.zshrc):

export CGO_CFLAGS="-I/opt/homebrew/include"
export CGO_LDFLAGS="-L/opt/homebrew/lib -lssl -lcrypto"

Oder Sie können pkg-config verwenden:

export CGO_CFLAGS="$(pkg-config --cflags openssl)"
export CGO_LDFLAGS="$(pkg-config --libs openssl)"

Das obige ist der detaillierte Inhalt vonopenSL-Fehler ld: Warnung: Verzeichnis für Option „-L/usr/local/opt/openssl/lib“ nicht gefunden. 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