Je crée une bibliothèque partagée C++ pour un projet personnel interne et j'utilise cmake pour le processus de liaison/compilation. En ce moment, mon fichier CMakeLists.txt ressemble à ceciDéploiement de la bibliothèque partagée C++ avec des en-têtes spécifiques
cmake_minimum_required(VERSION 3.7)
project(borges)
set(CMAKE_BUILD_TYPE Release)
set(CMAKE_CXX_STANDARD 11)
include_directories(include)
file(GLOB SOURCES "src/*.cpp")
add_library(borges SHARED ${SOURCES})
install(TARGETS borges DESTINATION /usr/local/lib)
J'ai compilé avec succès mes fichiers, mais sais que je suis un peu préoccupé par « encapsulation ». Je me demandais s'il y avait un moyen de n'exposer que certains fichiers .h, car il y a des classes qui n'auraient pas beaucoup de sens à utiliser en dehors du contexte de ma bibliothèque. Quelque chose comme des classes "privées" de la bibliothèque et exposer uniquement les classes que les gens utiliseraient en externe