동적으로 B.so를로드하는 실행 파일 A가 있습니다.이 실행 파일은 C.so에 의존합니다. C.so가 A와 B와 같은 폴더에 있지 않습니다.QLibrary는 -rpath로로드합니다.
QLibrary.load()를 사용하여 B.so를로드하려고하는데 QLibrary.errorString()이 라이브러리 C.so를 반환 할 때 그렇게하지 않습니다. 적재되다.
QLibrary 설명서에 LD_LIBRARY_PATH를 사용할 수 있다고 나와 있지만이 작업을 수행하지 않는 것이 좋습니다. B.so를 연결할 때 -Wl, -rpath,/path/to/C /를 사용하고 있지만 동적로드에 도움이되지 않습니다.
LD_LIBRARY_PATH를 사용하지 않고 B.so를로드하는 방법에 대한 제안 사항이 있습니까? -rpath와 함께 작동시킬 수 있습니까?
나는 질문에 실수를했다. rpath는 디렉토리를 가리키며 .so 파일은 절대 경로로 링커에 제공됩니다. –