"usr/bin/ld: -l
프로그램을 컴파일할 때 "usr/bin/ld: can find -l
1. 라이브러리 존재 확인:
참조하는 라이브러리가 지정된 위치에 있는지 확인하세요. 사용 가능한 모든 라이브러리를 나열하려면 다음 명령을 실행하십시오.
ldconfig -p | grep <nameOfTheLibrary>
2. 심볼릭 링크 유효성 검사:
라이브러리에 대한 심볼릭 링크를 생성한 경우 해당 링크가 정확하고 실제 라이브러리 파일을 가리키는지 확인하세요. 링크를 보려면 "ls -l" 명령을 사용하십시오:
ls -l <symbolicLink>
3. Verbose 링커 출력:
링커가 검색하는 특정 파일을 확인하려면 verbose 모드에서 실행하세요. 연결 명령에 "--verbose" 플래그를 추가합니다.
ld -l<nameOfTheLibrary> --verbose
출력에는 링커가 고려 중인 모든 잠재적 디렉터리와 파일이 표시됩니다.
4. 누락된 라이브러리 설치:
라이브러리가 없거나 찾을 수 없는 경우 패키지 관리자를 사용하여 설치하세요. 예를 들어 Debian 기반 시스템의 경우:
sudo apt-get install <nameOfTheLibrary>-dev
5. 명령에 라이브러리 경로 추가:
어떤 경우에는 링커가 라이브러리를 자동으로 찾지 못할 수도 있습니다. "-L" 플래그를 사용하여 라이브러리 경로를 수동으로 지정할 수 있습니다.
g++ -o myprogram myprogram.cpp -l<nameOfTheLibrary> -L/path/to/library
예:
참조된 문제에 설명된 문제를 해결하려면 링커가 ZLIB 라이브러리를 찾을 수 없습니다:
sudo ln -s /usr/lib/libz.so.1.2.8 /usr/lib/libzlib.so
위 내용은 내 링커가 `-l`을 찾을 수 없는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!