Rumah  >  Artikel  >  pembangunan bahagian belakang  >  ralat openssl ld: amaran: direktori tidak dijumpai untuk pilihan '-L/usr/local/opt/openssl/lib'

ralat openssl ld: amaran: direktori tidak dijumpai untuk pilihan '-L/usr/local/opt/openssl/lib'

王林
王林ke hadapan
2024-02-10 14:24:091015semak imbas

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

editor php Banana mengalami ralat semasa menggunakan openssl, menggesa "ld: Amaran: Direktori untuk pilihan '-L/usr/local/opt/openssl/lib' tidak dapat ditemui". Ralat ini biasanya disebabkan oleh laluan fail perpustakaan openssl yang dikonfigurasikan dengan salah. Penyelesaian kepada masalah ini ialah menambah laluan fail perpustakaan openssl yang betul dalam pilihan kompilasi.

Kandungan soalan

Ralat berlaku semasa menyusun atur cara tdlib yang berkaitan dengan panggilan 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 dipasang dengan 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

Saya cuba menggunakan pkg-config dan mendedahkan persekitaran seterusnya untuk menyelesaikan masalah ini tetapi tiada apa yang membantu.

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

Penyelesaian

Bolehkah anda juga menyemak bendera ini (.~/bashrc atau ~/.zshrc):

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

Atau anda boleh menggunakan pkg-config:

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

Atas ialah kandungan terperinci ralat openssl ld: amaran: direktori tidak dijumpai untuk pilihan '-L/usr/local/opt/openssl/lib'. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam