몇 번 전에이 작업을했는데, 어쨌든 이번에는 붙어 있습니다. 실행 가능한 "myapp"및 자체 공유 라이브러리 "mylib"가 있습니다. 내 cmakelists에서 나는 다음과 같습니다Cmake : linking shared library
ADD_LIBRARY(mylib SHARED ${SOURCES_LIB})
INSTALL(TARGETS mylib DESTINATION .)
ADD_EXECUTABLE(myapp ${SOURCES_APP})
TARGET_LINK_LIBRARIES(myapp ${QT_LIBRARIES} mylib)
INSTALL(TARGETS myapp DESTINATION .)
모든 것이 제대로 컴파일 및 링크,하지만 난 MyApp를 시작할 때, 나는 다음과 같은 오류 얻을 :
error while loading shared libraries: libmylib.so: cannot open shared object file: No such file or directory
lib 디렉토리 및 실행 파일이 설치에 존재를 예배 규칙서. 위의 cmakelists의 첫 번째 줄을
ADD_LIBRARY(mylib STATIC ${SOURCES_LIB})
으로 변경하여 내 라이브러리를 정적으로 만들면 모든 것이 100 % 작동합니다.
내가 뭘 잘못하고 있는지 아는 사람이 있습니까?
사용자가 설정할 수 있습니다 : 당신이 당신의 최상위 CMakeLists.txt에 다음처럼 작성할 잘하면 문제가 해결됩니다 SET을 (CMAKE_INSTALL_RPATH "$ {CMAKE_INSTALL_PREFIX}/libfolder") libfolder는 공유 라이브러리가 설치된 디렉토리입니다. 이것은 Unix 시스템에서만 작동합니다. 나는 Windows에서도 뭔가를 찾으려고 노력할 것이다. – goocreations