J'essaie de construire les exemples OpenCV fournis avec le paquet source et j'obtiens ce qui suit:
CMake Error at CMakeLists.txt:10 (ocv_check_dependencies):
Unknown CMake command "ocv_check_dependencies".
J'ai installé OpenCV en utilisant
cmake .
make
Sudo make install
et j'ai eu un extrait de tutoriel de travail (donc je suppose qu'il est correctement installé en tant que bibliothèque). Toutefois, la compilation des exemples ne fonctionne pas.
Je suppose que je dois en quelque sorte configurer CMake pour avoir «ocv_check_dependencies» - mais comment? Je suis perdu!
J? ai compris.
Pour construire les exemples, il faut changer la configuration par défaut de cmake en la fournissant via -D
. Ce que j'ai fait de mal, c'est que j'ai essayé d'exécuter cmake à partir du répertoire samples
.
La manière appropriée de construire les exemples est d'appeler cmake comme suit (depuis le répertoire racine de l'archive décompressée):
cmake -DBUILD_SAMPLES .
qui activera les échantillons. On peut utiliser make, make install que. Les échantillons peuvent être trouvés dans bin
après la construction.
Voir aussi FAQ
En fait, pour OpenCV 2.4.4 beta, le fichier racine CMakeList.txt dit:
OCV_OPTION (BUILD_EXAMPLES "Construire tous les exemples"
-DBUILD_EXAMPLES=ON
a bien fonctionné pour moi.
Comment compiler le code exemple OpenCV?
# For OpenCV 3
cd /path/to/opencv/samples/cpp/
#Compile
g++ -ggdb `pkg-config --cflags --libs opencv` facedetect.cpp -o facedetect
#run
./facedetect
Travaille pour moi.
contexte du message d'erreur:
CMake Error at CMakeLists.txt:10 (ocv_check_dependencies):
Unknown CMake command "ocv_check_dependencies".
Ce message d'erreur se produit car cmake ne trouve pas la définition de ocv_check_dependencies
C'est pourquoi la console a déclaré Commande CMake inconnue
Si cmake ne peut pas trouver où ocv_check_dependencies
est défini
Tout comme @ Nick Hockings a déclaré:
ocv_check_dependencies
est une macro définie dans Your/OpenCV/path/OpenCVModule.cmake
macro(ocv_check_dependencies)
set(OCV_DEPENDENCIES_FOUND TRUE)
foreach(d ${ARGN})
if(d MATCHES "^opencv_[^ ]+$" AND NOT HAVE_${d})
set(OCV_DEPENDENCIES_FOUND FALSE)
break()
endif()
endforeach()
endmacro()
Le moyen le plus rapide est de copier cet extrait ci-dessus dans votre fichier CMakeList.txt
juste au-dessus, où ocv_check_dependencies
est
Par conséquent, cmake peut enfin comprendre ce que c'est
Cela devrait faire l'affaire, j'espère que personne d'autre ne se souciera de cette question à l'avenir
La macro 'ocv_check_dependencies' est définie dans: your_path_to/opencv/cmake/OpenCVModule.cmake
# ensures that all passed modules are available
# sets OCV_DEPENDENCIES_FOUND variable to TRUE/FALSE
macro(ocv_check_dependencies)
set(OCV_DEPENDENCIES_FOUND TRUE)
foreach(d ${ARGN})
if(d MATCHES "^opencv_[^ ]+$" AND NOT HAVE_${d})
set(OCV_DEPENDENCIES_FOUND FALSE)
break()
endif()
endforeach()
endmacro()
Le fichier CMakeLists.txt de niveau supérieur contient les commandes "include" pour les fichiers opencv/cmake /. C’est pourquoi la macro est disponible lorsque vous compilez en appelant cmake à partir de la racine des sources opencv.
les instructions de construction de mydragonisland ont presque fonctionné pour moi; avec une réorganisation mineure et des accents:
g++ facedetect.cpp -o facedetect `pkg-config --libs opencv`
Suivre les étapes fonctionne pour moi.
Exporter le chemin de la chaîne d’outils.
cd opencv-3.3.0/samples
cross_cmake && cross_make
cd opencv-3.3.0/samples/cpp /
J'ai eu des erreurs similaires. Mon approche est la suivante: 1) cd xxx/samples 2) mkdir build 3) cd build 4) cmake .. 5) make Maintenant, cela fonctionne. Nous ne pouvions pas construire un projet individuel sous leurs fichiers source.