J'essaye de faire une bibliothèque partagée liée avec une version statique de librt. Actuellement, je fais ceci:Force cmake à lier la bibliothèque partagée avec la bibliothèque statique sans mentionner une cible spécifique
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
ADD_LIBRARY(memtrace SHARED memtrace.c)
ADD_LIBRARY(lib_real_time STATIC IMPORTED)
SET_TARGET_PROPERTIES(lib_real_time PROPERTIES IMPORTED_LOCATION /usr/lib/x86_64-linux-gnu/librt.a)
TARGET_LINK_LIBRARIES(memtrace lib_real_time)
Mais je ne veux pas spécifier le chemin comme celui-ci. Puisque librt est toujours dans les chemins standards, je préférerais que cmake le trouve. Comme dans gcc, je ne spécifierais que -lrt. Lorsque je tente de le faire en utilisant ce fichier CMake:
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
ADD_LIBRARY(memtrace SHARED memtrace.c)
TARGET_LINK_LIBRARIES(memtrace rt)
Il memtrace lien avec la version dynamique de librt qui est pas ce que je veux !!
Comment puis-je lier avec la version statique de librt sans mentionner son chemin complet?
'TARGET_LINK_LIBRARIES (memtrace rt.a)'? – arrowd
Merci beaucoup! Faites-en une réponse si vous voulez le crédit! – p00ya00