내 .zshrc
파일에는 기존 OpenSSL 내보내기가 있습니다.
export LDFLAGS="-L/usr/local/opt/[email protected]/lib"
export CPPFLAGS="-I/usr/local/opt/[email protected]/include"
export PKG_CONFIG_PATH="/usr/local/opt/[email protected]/lib/pkgconfig"
zlib
이제 이 라이브러리가 필요한 패키지를 컴파일해야 합니다 . 이전 플래그를 덮어쓰지 않고 이러한 플래그를 추가하려면 어떻게 해야 합니까?
:
나는 경로에 대해 수행된 것과 같이 그것들을 함께 연결하려고 시도했지만 작동하지 않는 것 같습니다 ./configure
. 실행할 때 단일 플래그로 읽습니다.
ld: 경고: '-L/usr/local/opt/ 옵션에 대한 디렉터리를 찾을 수 없습니다.[이메일 보호됨]/lib:-L/usr/local/opt/zlib/lib'
누구든지 이 작업을 올바르게 수행하는 방법을 제안할 수 있습니까?
답변1
이러한 변수가 쉘의 시작 스크립트에 설정되는 이유 또는 설정해야 하는 이유가 명확하지 않습니다. 왜냐하면 이러한 변수는 configure
사용될 수 있는 스크립트에 의해 결정되어야 하기 때문입니다 pkg-config
(따라서 PKG_CONFIG_PATH
수정은 여전히 흥미로울 수 있습니다). 나는 이것을 무시하고 이러한 변수를 추가하는 방법에 집중했습니다.
LDFLAGS
변수에는 CPPFLAGS
소프트웨어를 컴파일할 때 다양한 단계에서 도구에 전달되는 명령줄 플래그가 포함되어 있습니다. 여기에는 공백으로 구분된 플래그가 포함되어야 합니다.
export LDFLAGS=-L/some/directory
export
나중에( 변수는 한 번만 사용해야 합니다 ):
LDFLAGS="$LDFLAGS -L/other/directory"
또는,
LDFLAGS+=" -L/other/directory"
이 PKG_CONFIG_PATH
변수는 도구에서 사용됩니다 pkg-config
. 매뉴얼에는 다음과 같이 명시되어 있습니다(필자가 강조함).
PKG_CONFIG_PATH
이를 지정하는 데 사용할 수 있습니다.콜론으로 구분된 경로 목록패키지 파일을 검색합니다. 주어진 경우, 이 경로 목록은 표준 검색 경로 앞에 추가됩니다.
그래서,
export PKG_CONFIG_PATH=/some/directory
후에:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/other/directory
또는,
PKG_CONFIG_PATH+=:/other/directory
답변2
기존 내보내기를 끝에 추가하는 것만 큼 간단하다는 것이 밝혀졌습니다.
export LDFLAGS="-L/usr/local/opt/zlib/lib $LDFLAGS"
export CPPFLAGS="-I/usr/local/opt/zlib/include $CPPFLAGS"
export PKG_CONFIG_PATH="/usr/local/opt/zlib/lib/pkgconfig:$PKG_CONFIG_PATH"
어디에도 딸랑이가 없으며 모두 올바르게 컴파일됩니다.
답변 감사드립니다. 정말 감사합니다.