Kompilieren mit cmake mit Abhängigkeiten installiert mit macport
Ich versuche, bauen, Projekt, das in Abhängigkeit von OpenCV. Ich habe Opencv installiert mit macports und wenn ich versuche, bauen, Projekt, cmake gibt die folgende Ausgabe:
CMake Error at CMakeLists.txt:47 (FIND_PACKAGE):
By not providing "FindOpenCV.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "OpenCV", but
CMake did not find one.
Could not find a package configuration file provided by "OpenCV" with any
of the following names:
OpenCVConfig.cmake
opencv-config.cmake
Add the installation prefix of "OpenCV" to CMAKE_PREFIX_PATH or set
"OpenCV_DIR" to a directory containing one of the above files. If "OpenCV"
provides a separate development package or SDK, be sure it has been
installed.
Suchte ich ein wenig über dieses problem und fügte hinzu, die folgende env. Variablen zu meinem $HOME/.profile
Datei
export DYLD_LIBRARY_PATH=/opt/local/lib:$DYLD_LIBRARY_PATH
export CMAKE_PREFIX_PATH=/opt/local
ohne Erfolg. Ich überprüfte, und ich habe alle opencv-Dateien installiert in /opt/local/lib und /opt/local/include/opencv-Verzeichnisse. Es ist auch OpenCVConfig.cmake
im folgenden Pfad:
/opt/local/lib/cmake/OpenCVConfig.cmake
How to make cmake den Pfad kennen, wo opencv installiert ist? Früher hab ich bauen OpenCV auf meiner eigenen mit cmake und installiert in /usr/local und dann lief es ohne weitere Korrektur. Jedoch hatte ich einige Probleme mit ffmpeg und jetzt ich wechselte mit macports.
InformationsquelleAutor pzo | 2012-10-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Eine weitere option, die funktioniert für mich wurde das env-Wert OpenCV_DIR an der cmake, opencv dir:
InformationsquelleAutor alhuelamo
macports traditionell installiert OpenCV zu
/opt/local/
anstelle des standard -/usr/local/
.Die Lösung für dein problem ergibt, ist:
Beim erstellen Ihres Projekts in der command-line, machen Sie sicher, dass Sie ausführen:
Und dann setzen Sie das Kennzeichen
CMAKE_PREFIX_PATH
für cmake:Sorry, aber das ist in der Regel, wie ich das Problem lösen dieser Art von problem.
InformationsquelleAutor karlphillip
Habe ich endlich Lesen den header der OpenCVConfig.cmake Datei.
Es weist auch auf diese Linien zu verwenden, die aus einem externen Projekt:
(hinzufügen include_directories zu CMakeLists.txt fixed it for me)
InformationsquelleAutor kengregson
Nicht ein MACPORT problem, aber jemanden finden diese hilfreich. Gefolgt @hugh-pearse 's und @leszek-hanusz 's Antworten in diese Frage, mit ein wenig zwicken. Ich hatte installiert opencv von ubuntu 12.10 repository (libopencv-)* und hatte das gleiche problem. Konnte es nicht lösen mit
export OpenCV_DIR=/usr/share/OpenCV/
(da mein OpenCVConfig.cmake ist es). Es wurde gelöst, wenn ich änderte einige Linien auf dem OpenCVConfig.cmake Datei:Und das funktionierte auf meinem Ubuntu 12.10. Vergessen Sie nicht, die
target_link_libraries(yourprojectname ${OpenCV_LIBS})
in Ihrem CMakeLists.txt.InformationsquelleAutor aguadopd
Ich habe versucht, alle oben genannten Ideen vergeblich.
Ich habe schließlich einen Weg gefunden zu haben, der Zusammenstellung der Arbeit: Neben der mithilfe von @kengregson Schritte, die ich einfach umbenannt in den Ordner /usr/local/include/opencv2, so dass es nicht ausgewählt ist, beim kompilieren meiner cpp-Datei.
InformationsquelleAutor JeromeK
Da ich kompiliere meine eigenen OpenCV in einem mehr-Benutzer-server, so kann ich nicht installieren der OpenCV libs in /usr/local direkt, aber in meinem home-Ordner statt, dann genau das gleiche Problem tritt auf mich zu.
Unten ist, wie ich es beheben:
Fließt die Schritte in OpenCV offiziellen doc: Mit OpenCV mit gcc und CMake
Hinzufügen displayImage test-Programm, und verwenden Sie diese CMake-Datei
cmake_minimum_required(VERSION 2.8)
project( DisplayImage )
find_package( OpenCV)
add_executable( DisplayImage DisplayImage.cpp )
target_link_libraries( DisplayImage ${OpenCV_LIBS} )
setenv OpenCV_DIR "${folder where contains OpenCVConfig.cmake }"
\# mine is:
setenv OpenCV_DIR "~/local/OpenCV2.4.13/share/OpenCV"
InformationsquelleAutor ouxiaogu
Stellen Sie sicher, Sie haben kompiliert OpenCV, sobald Sie zusammengestellt, OpenCVConfig.cmake erzeugt im build-Verzeichnis.
Folgen diese Schritte zum kompilieren
dann
export OpenCV_DIR=<path to build directory with OpenCVConfig.cmake>
Sollte es jetzt funktionieren !
InformationsquelleAutor Manish S