![D 컴파일러를 사용할 때 공유 객체 파일을 열 수 없습니다](https://linux55.com/image/2086/D%20%EC%BB%B4%ED%8C%8C%EC%9D%BC%EB%9F%AC%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%A0%20%EB%95%8C%20%EA%B3%B5%EC%9C%A0%20%EA%B0%9D%EC%B2%B4%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EC%97%B4%20%EC%88%98%20%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4.png)
나는 가지고있다LDC2그리고글로벌 개발 센터소스에서 컴파일되어 한 달 전까지 작업 중이었습니다. ldc2와 gdc가 작동하도록 터미널에 설정한 변수를 기억할 수 없다는 점을 제외하고는 아무것도 변경되지 않았습니다.
$ /home/Code/D/gdc/Bin/usr/local/bin/gdc -o t4 t4.d
gdc( ) 를 사용하여 D 소스 코드를 컴파일하려고 하면 다음 오류가 발생합니다.
/home/Code/D/gdc/Bin/usr/local/bin/../libexec/gcc/x86_64-unknown-linux-gnu/4.4.5/cc1d: error while loading shared libraries: libmpfr.so.1: cannot open shared object file: No such file or directory
ldc2( /home/Code/D/ldc2/bin/ldc2 -o t4 t4.d
)의 경우:
/home/Code/D/ldc2/bin/ldc2: error while loading shared libraries: libconfig++.so.8: cannot open shared object file: No such file or directory
PATH에 대한 보완인지 DFLAGS에 대한 보완인지는 기억이 나지 않습니다. 어떤 아이디어가 있나요?
답변1
여기서는 필요한 라이브러리를 찾을 수 없기 때문에 컴파일러 실행 파일을 실행할 수도 없습니다. gdc
찾고 libmpfr.so.1
검색 ldc2
합니다 libconfig++.so.8
.
라이브러리가 시스템(예: )에 여전히 존재하는 경우 /home/Code/D/gdc/Bin/usr/local/lib
해당 디렉토리를 환경 변수에 추가할 수 있습니다 LD_LIBRARY_PATH
(대부분의 unice에서는 변수를 이라고 함 DYLD_LIBRARY_PATH
).
LD_LIBRARY_PATH=/home/Code/D/gdc/Bin/usr/local/lib gdc …
gdc
합계를 실행하는 래퍼 스크립트를 작성 ldc2
하거나 다음 항목에 넣을 수 있습니다 ~/.profile
.
export LD_LIBRARY_PATH=/home/Code/D/gdc/Bin/usr/local/lib
시스템 업그레이드 중에 이러한 라이브러리가 나타났다가 사라지면 /usr/lib
필요한 버전을 복원하거나 라이브러리의 새 버전에 맞게 D 도구를 다시 컴파일해야 합니다.