“공유 개체를 열 수 없습니다: 해당 파일 또는 디렉토리가 없습니다” 오류 수정

“공유 개체를 열 수 없습니다: 해당 파일 또는 디렉토리가 없습니다” 오류 수정

“공유 객체를 열 수 없습니다. 해당 파일이나 디렉토리가 없습니다” 오류는 일반적으로 Windows에서 Linux 또는 Windows Subsystem for Linux(WSL)를 사용하는 개발자에게 영향을 미칩니다. 이 오류는 프로젝트에 필요한 라이브러리를 추가하는 기능을 방해할 수 있으므로 신속하게 해결하는 것이 필수적입니다.

“공유 개체를 열 수 없습니다. 해당 파일이나 디렉토리가 없습니다” 오류를 수정하는 방법

1. 누락된 라이브러리 설치

  1. 오류 메시지를 살펴보세요. 누락된 라이브러리의 이름이 지정됩니다.
  2. 다음 명령을 실행하여 라이브러리를 설치합니다. sudo apt-get install your_library_namesudo apt 설치
  3. 설치 과정이 완료될 때까지 기다리세요.

일부 사용자는 이미 설치된 라이브러리에 대해 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 명령 실행

  1. 터미널을 열고 다음을 입력하세요.sudo ldconfig -v
  2. 명령 실행이 완료될 때까지 기다리세요.sudo ldconfig -v
  3. 오류가 지속되는지 확인하세요.

이 명령은 공유 라이브러리 캐시를 업데이트해서 문제를 해결할 수도 있습니다.

3. ldd 명령을 사용하여 누락된 종속성 확인

  1. 명령줄에 다음을 입력하세요. ldd. /name_of_the_packageldd 명령
  2. 패키지가 사용하는 모듈 목록이 나타납니다.
  3. “찾을 수 없음”으로 표시된 모듈을 식별합니다.
  4. 터미널을 사용하여 누락된 모듈을 설치하세요.

일부 애플리케이션은 32비트 아키텍처에 의존할 수 있으므로 호환 모듈을 설치해야 할 수 있으므로 주의하세요.

4. 스트립 명령을 사용합니다.

  1. 터미널에서 다음 명령을 실행하세요: sudo strip --remove-section=.note.ABI-tag /usr/lib/x86_64-linux-gnu/libQt5Core.so.5sudo 스트립
  2. 명령이 완료될 때까지 기다리세요.
  3. 문제가 해결되었는지 확인하세요.

이 솔루션은 libQt5Core.so.5에만 적용되므로 1단계의 라이브러리 이름을 특정 오류에 맞게 조정해야 합니다.

5. 라이브러리 경로에 라이브러리를 수동으로 추가

  1. 다음 명령으로 라이브러리 경로를 찾으세요. sudo find / -name the_name_of_the_file.sosudo 찾기
  2. 다음 명령을 실행하여 값을 표시하세요 LD_LIBRARY_PATH. echo $LD_LIBRARY_PATH에코 라이브러리
  3. LD_LIBRARY_PATH비어 있는 경우 다음과 같이 설정합니다.LD_LIBRARY_PATH=/usr/local/libld 라이브러리 경로
  4. 1단계의 라이브러리 경로를 추가하려면 다음을 실행하세요. export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/my_library/ld 라이브러리 내보내기

“공유 객체를 열 수 없습니다. 해당 파일이나 디렉토리가 없습니다” 오류는 개발 프로세스를 방해할 수 있습니다. 그러나 다음 단계에 따라 필요한 패키지를 설치하면 효과적으로 해결할 수 있습니다.

이는 여러분이 접할 수 있는 유일한 코딩 오류는 아닙니다. 많은 사용자가 PermissionError Errno 13 및 OSError Errno 48과 같은 문제를 보고했습니다.

원천

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다