“공유 개체를 열 수 없습니다: 해당 파일 또는 디렉토리가 없습니다” 오류 수정
“공유 객체를 열 수 없습니다. 해당 파일이나 디렉토리가 없습니다” 오류는 일반적으로 Windows에서 Linux 또는 Windows Subsystem for Linux(WSL)를 사용하는 개발자에게 영향을 미칩니다. 이 오류는 프로젝트에 필요한 라이브러리를 추가하는 기능을 방해할 수 있으므로 신속하게 해결하는 것이 필수적입니다.
“공유 개체를 열 수 없습니다. 해당 파일이나 디렉토리가 없습니다” 오류를 수정하는 방법
1. 누락된 라이브러리 설치
- 오류 메시지를 살펴보세요. 누락된 라이브러리의 이름이 지정됩니다.
- 다음 명령을 실행하여 라이브러리를 설치합니다.
sudo apt-get install your_library_name
- 설치 과정이 완료될 때까지 기다리세요.
일부 사용자는 이미 설치된 라이브러리에 대해 sudo apt install –reinstall을 사용하여 성공했습니다 . 이 방법도 시도해 보는 것을 고려하세요.
Qt를 설치하는 동안 이 오류가 발생하면 다음 명령을 실행하여 필수 종속성을 설치하세요.
sudo apt-get -y install build-essential openssl libssl-dev libssl1.0 libgl1-mesa-dev libqt5x11extras5 '^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev libxkbcommon-x11-dev
2. ldconfig 명령 실행
- 터미널을 열고 다음을 입력하세요.
sudo ldconfig -v
- 명령 실행이 완료될 때까지 기다리세요.
- 오류가 지속되는지 확인하세요.
이 명령은 공유 라이브러리 캐시를 업데이트해서 문제를 해결할 수도 있습니다.
3. ldd 명령을 사용하여 누락된 종속성 확인
- 명령줄에 다음을 입력하세요.
ldd. /name_of_the_package
- 패키지가 사용하는 모듈 목록이 나타납니다.
- “찾을 수 없음”으로 표시된 모듈을 식별합니다.
- 터미널을 사용하여 누락된 모듈을 설치하세요.
일부 애플리케이션은 32비트 아키텍처에 의존할 수 있으므로 호환 모듈을 설치해야 할 수 있으므로 주의하세요.
4. 스트립 명령을 사용합니다.
- 터미널에서 다음 명령을 실행하세요:
sudo strip --remove-section=.note.ABI-tag /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
- 명령이 완료될 때까지 기다리세요.
- 문제가 해결되었는지 확인하세요.
이 솔루션은 libQt5Core.so.5에만 적용되므로 1단계의 라이브러리 이름을 특정 오류에 맞게 조정해야 합니다.
5. 라이브러리 경로에 라이브러리를 수동으로 추가
- 다음 명령으로 라이브러리 경로를 찾으세요.
sudo find / -name the_name_of_the_file.so
- 다음 명령을 실행하여 값을 표시하세요
LD_LIBRARY_PATH
.echo $LD_LIBRARY_PATH
LD_LIBRARY_PATH
비어 있는 경우 다음과 같이 설정합니다.LD_LIBRARY_PATH=/usr/local/lib
- 1단계의 라이브러리 경로를 추가하려면 다음을 실행하세요.
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/my_library/
“공유 객체를 열 수 없습니다. 해당 파일이나 디렉토리가 없습니다” 오류는 개발 프로세스를 방해할 수 있습니다. 그러나 다음 단계에 따라 필요한 패키지를 설치하면 효과적으로 해결할 수 있습니다.
이는 여러분이 접할 수 있는 유일한 코딩 오류는 아닙니다. 많은 사용자가 PermissionError Errno 13 및 OSError Errno 48과 같은 문제를 보고했습니다.
답글 남기기