- 确保在 CMakeLists.txt 文件中正确地编写了各个共享库的名称和路径:
find_library(LIBRARY_1 NAMES lib1 HINTS /usr/local/lib)
find_library(LIBRARY_2 NAMES lib2 HINTS /usr/local/lib)
- 在主 CMakeLists.txt 文件中链接所有共享库:
target_link_libraries(myapp ${LIBRARY_1} ${LIBRARY_2})
- 确保在安装时链接了所有的共享库:
install(TARGETS ${PROJECT_NAME} EXPORT ${PROJECT_NAME}-config
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
INCLUDES DESTINATION include)
install(FILES ${PROJECT_BINARY_DIR}/my_header.h DESTINATION include)
install(EXPORT ${PROJECT_NAME}-config DESTINATION share/${PROJECT_NAME}/cmake)
- 在安装的 CMake 配置文件中导入所有共享库:
include("${CMAKE_CURRENT_LIST_DIR}/../share/${PROJECT_NAME}/cmake/${PROJECT_NAME}-config.cmake")
target_link_libraries(myapp ${LIBRARY_1} ${LIBRARY_2})