7 votes

Erreur fatale: fichier 'QTKit/QTKit.h' introuvable lorsque je construis OpenCV sur mac

J'ai suivi ce http://www.pyimagesearch.com/2015/06/15/install-opencv-3-0-and-python-2-7-on-osx/ pour installer OpenCV sur mon mac. Lorsque je fais cette étape : $ make -j4 un problème est survenu:

erreur fatale: 
      'QTKit/QTKit.h' fichier introuvable
#import 
        ^ 1 erreur générée. make[2]: *** [modules/videoio/CMakeFiles/opencv_videoio.dir/src/cap_qtkit.mm.o]
Erreur 1 make[1]: ***
[modules/videoio/CMakeFiles/opencv_videoio.dir/all] Erreur 2 make: ***
[Tous] Erreur 2

4voto

Ohad Kravchick Points 471

Essayez de le construire de cette manière à la place :

cmake -DWITH_QUICKTIME=OFF -DWITH_GSTREAMER=OFF -DWITH_FFMPEG=OFF -DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++ -DCMAKE_BUILD_TYPE=Release .. ; make -j4

2voto

nikoo28 Points 431

Pouvez-vous essayer d'installer opencv sur mac en utilisant brew?

brew reinstall opencv3 --HEAD --with-python3 --with-ffmpeg --with-tbb --with-contrib

Cela a fonctionné pour moi sur MAC OS SIERRA.

1voto

feiyun Points 31

Voici une solution de contournement pour résoudre le problème :

  1. Téléchargez MACOSX SDK ici.
  2. Extrait les fichiers d'en-tête de MacOSX10.11.sdk/MacOSX10.11.sdk/System/Library/Frameworks/QTKit.framework/Headers/
  3. Créez un dossier sous le dossier du fichier source d'OpenCV : opencv-3.2.0/modules/highgui/src/QTKit, et copiez tous les fichiers d'en-tête dans le dossier.
  4. Suivez les étapes de construction habituelles d'OpenCV. Lorsque vous exécutez make -j8, vous n'avez pas besoin de définir "-DWITH_QUICKTIME=OFF -DWITH_GSTREAMER=OFF -DWITH_FFMPEG=OFF"

Cela fonctionne pour OpenCV 2.x et 3.x

0voto

yorelog Points 87

Cette erreur est due au fait que QuickTime Kit a été abandonné dans OS X v10.9, et Apple suggère d'utiliser le framework AVFoundation à la place Apple API Référence.

OpenCV (version 3.1.0) repose sur QuickTime Kit. Ainsi, lorsque vous essayez d'installer OpenCV (avant la version 3.1.0) sur OSX Sierra, une erreur sera levée lors de la compilation.

Essayez d'installer la version maître d'OpenCV, cela devrait fonctionner !

OpenCV a ajouté la prise en charge du framework AVFoundation dans https://github.com/opencv/opencv/pull/7159

0voto

Alireza Points 1

Utilisez --with-quicktime ou -DWITH_QUICKTIME=TRUE. Cela utilisera QUITCKTIME au lieu de QTKit pour la vidéo I/O

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X