Maison >développement back-end >Golang >erreur openssl ld : avertissement : répertoire introuvable pour l'option '-L/usr/local/opt/openssl/lib'

erreur openssl ld : avertissement : répertoire introuvable pour l'option '-L/usr/local/opt/openssl/lib'

王林
王林avant
2024-02-10 14:24:091093parcourir

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

L'éditeur php Banana a rencontré une erreur lors de l'utilisation d'openssl, demandant "ld : Attention : le répertoire de l'option '-L/usr/local/opt/openssl/lib' est introuvable". Cette erreur est généralement causée par une configuration incorrecte du chemin du fichier de la bibliothèque openssl. La solution à ce problème consiste à ajouter le chemin correct du fichier de bibliothèque openssl dans les options de compilation.

Contenu de la question

Une erreur s'est produite lors de la compilation du programme tdlib lié aux appels openssl.

/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 est installé avec Brew :

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

J'ai essayé d'utiliser pkg-config et d'exposer l'environnement suivant pour résoudre ce problème, mais rien n'y fait.

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

Solution de contournement

Pouvez-vous également vérifier ces indicateurs (.~/bashrc ou ~/.zshrc) :

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

Ou vous pouvez utiliser pkg-config :

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer