Bonjour,
Je travaille sous ubuntu et je souhaite créer un exécutable qui inclue les librairies dont j'ai besoin. J'utilise deux librairies : OpenCV qui est dynamique (.so) et une autre librairie statique (.a) CryptoPP.
Voici mon CMake :
Cependant j'ai une erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 cmake_minimum_required(VERSION 2.8) project( Projet ) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/contrib/cmake") SET(CMAKE_FIND_LIBRARY_SUFFIXES ".a") SET(BUILD_SHARED_LIBRARIES ON) SET(CMAKE_EXE_LINKER_FLAGS "-static") if(WIN32) set(OpenCV_DIR "d:/libs/opencv-2.4.10/build") else() set(OpenCV_DIR "/usr/lib/opencv") endif() find_package(OpenCV REQUIRED core imgproc highgui) find_package( Cryptopp REQUIRED ) include_directories(${OpenCV_INCLUDE_DIRS}) add_executable( Projet projet.cpp ) target_link_libraries( Projet ${CRYPTOPP_LIBRARIES} ${OpenCV_LIBS})
J'ai essayé de séparer mes librairies en deux groupes (statique et dynamique) dans le CMake mais je n'ai pas réussis Si sous avez la moindre idée du problème merci d'avance.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 /usr/bin/ld: attempted static link of dynamic object `/usr/local/lib/libopencv_core.so.2.4.10'
Cordialement,
Laura
Partager