如何创建一个共享对象与另一个.所以在Cmake

How to create a Shared object with also another .SO in Cmake

本文关键字:另一个 Cmake 对象 一个 何创建 创建 共享      更新时间:2023-10-16

我有在Cmake中创建的共享对象,但我需要将其链接到另一个.so文件。 我该怎么做? 这是我的CMakeList.txt文件

cmake_minimum_required(VERSION 3.9)
project(DAL VERSION 1.0.1 DESCRIPTION "DAL - Data Access Layer this class connect with the sql data base throw the Connection class")
set(CMAKE_CXX_STANDARD 17)
include(GNUInstallDirs)
add_library(DAL SHARED
src/AppSettingDAL.cpp
src/AppSettingEntity.cpp
src/SettingsModificationDAL.cpp
src/SymbolDAL.cpp
src/SymbolInfoEntity.cpp
)
set_target_properties(DAL PROPERTIES
VERSION ${PROJECT_VERSION}
SOVERSION 1
PUBLIC_HEADER
include/AppSettingsDAL.hpp
include/SettingsModificationDAL.hpp
include/AppSettingEntity.hpp
include/SymbolDAL.hpp
include/SymbolInfoEntity.hpp
)
configure_file(DAL.pc.in DAL.pc @ONLY)
target_include_directories(DAL PRIVATE .)
install(TARGETS DAL
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
install(FILES ${CMAKE_BINARY_DIR}/DAL.pc DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/pkgconfig)

我希望它链接到 lib connlib.so

add_executable(DAL ...)
target_link_libraries(DAL connlib)

(注意:不包括分机。它将由基于您的操作系统的 cmake 完成。