如何创建一个共享对象与另一个.所以在Cmake
How to create a Shared object with also another .SO in Cmake
我有在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 完成。
相关文章:
- 如何创建一个CMake变量,除非显式重写,否则使用默认值
- 将库链接到另一个应用程序时,CMAKE 找不到库
- CMake 将库包含在另一个库中
- 如何创建一个共享对象与另一个.所以在Cmake
- cmake在构建过程中使用另一个工具检测标志
- 无法在 CMake 中创建动态库并将其链接到另一个动态库?
- 如何在我的 cmake 项目中包含另一个 cmake 项目的头文件?
- 执行CMAKE目标的输出作为另一个目标的依赖
- 用Cmake构建在一个QTCreator版本中与另一个QTCreator版本一起使用,并与terminal的Catkin
- CMAKE:将静态库从子目录链接到另一个子目录中的可执行文件
- CMAKE:使用来自另一个目标的功能,而无需直接target_link_libraries
- CMake:如何仅将特定文件扩展名从一个目录复制到另一个目录
- 将CMake子项目与另一个子项目集成
- cmake:依赖于另一个库的库(sqlite3pp)
- CMake "TARGET_LINK_LIBRARIES cannot find -lfoo"但它与另一个库位于同一目录中
- CMake和target_link_libraries的库依赖于另一个库
- 如何在另一个CMake目标中加载主应用程序的接口类
- CMake -从另一个CMake文件的GUI设置中删除一个选项
- 如何让 cmake 使用另一个 opencv 目录,而不是 ubuntu 中的系统目录?
- 不能使用 Cmake 在另一个标头中包含外部库