ich relativ neu bin cmake und nach Tagen des Kämpfens nicht das Folgende herausfinden konnte:Verknüpfung opencv Bibliotheken enthalten als externes Projekt über Cmake
ich ein Projekt, das auf opencv abhängt (was a cmake-Projekt selbst) und ich möchte opencv-Bibliotheken statisch verknüpfen. Was ich tue, ist ich eine Kopie opencv Quellcode in meinem Projekt haben und schließen sie in meine CMakeLists.txt über
ExternalProject_Add(my_copy_of_opencv_project
CMAKE_ARGS -D BUILD_SHARED_LIBS=NO ...
CMAKE_INSTALL_PREFIX=${MY_OPENCV_INSTALL_DIR}
SOURCE_DIR ${PATH_TO_OPENCV_SRCS}
)
Alle schön gebaut und wo ich Problem ist, dass ich nicht sicher, wo die opencv bestimmen kann, Bibliotheken werden sein. Z.B. auf Linux/Mac gibt es in ${MY_OPENCV_INSTALL_DIR}/lib
und als libopencv_core.a
genannt, während auf 32-Bit-Windows mit VS 2012 die Libs sind in ${MY_OPENCV_INSTALL_DIR}/lib/x86/vc11/staticlib
und für die Debug-Konfiguration der Libs wie opencv_core247d.lib
genannt installiert.
So ist die Frage, kann ich eine Liste aller von der OpenCV Build (und der Wurzel Ordner lib) und verknüpfen sie über so etwas wie target_link_libraries(mylib opencv_core ...)
hergestellten Bibliotheken irgendwie erhalten?
Vielleicht etwas falsch oder overcomplicated ich tue. Also, was ich im Grunde will, ist, meinen eingebetteten opencv Quellbaum statisch zu kompilieren und gegen seine Bibliotheken in einer "plattformübergreifenden" Weise zu verlinken.
Alle Hinweise sind sehr willkommen! Vielen Dank!
Ich würde diese Frage ein Duplikat nicht berücksichtigen; Diese Frage bezieht sich auf „eine Kopie von opencv Quellcode in meinem Projekt und füge ihn in mein CMakeLists.txt“ hat, ist die zugehörige Betrogene über das System installiert OpenCV – moof2k