Compiler openCV 2.3.1 programmes avec MinGW gcc/g++ sous Windows 7 64 bits
Pour une semaine, j'ai eu du mal à compiler openCV programmes. J'ai essayé tout ce que je pourrais peut-être trouver sur internet.
Ce que j'ai fait: j'ai téléchargé OpenCV-2.3.1-win-superpack.exe et suivi ce guide d'installation.
Dans le CMake (gui) ma source est: D:\opencv et construire de destination est: C:\opencv.
J'ai également ajouté C:\opencv\install\bin;C:\opencv\bin à mon système de la variable de CHEMIN d'accès.
Ce que je veux, c'est de compiler openCV programmes sur mon système d'exploitation Windows à l'aide de MinGW gcc/g++ compilateurs.
J'ai essayé différents gcc/g++ paramètres que j'ai trouvé sur internet et les jours de jouer avec l'option-I et-L options du compilateur ne peut jamais trouver la openCV des fonctions ou des structures.
Ce que je suis en train de compiler:
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <cv.h>
#include <highgui.h>
int main(int argc, char *argv[])
{
//Nothing but create a window
cvNamedWindow("mainWin", CV_WINDOW_AUTOSIZE);
cvMoveWindow("mainWin", 100, 100);
cvWaitKey(0);
return 0;
}
Erreur:
Entrée:
gcc test.c -o test -I"C:\opencv\install\include" -I"C:\opencv\install\include\opencv" -L"C:\opencv\install\bin"
Sortie:
...\ccK4MfHv.o:test.c:(.text+0xa0b): undefined reference to `cvFree_'
Ou avec g++:
Entrée:
g++ test.c -o test -I"C:\opencv\install\include" -I"C:\opencv\install\include\opencv" -L"C:\opencv\install\bin"
Sortie:
...\ccXCTKa1.o:test.c:(.text+0x1e): undefined reference to `cvNamedWindow'
Note de côté: en essayant de compiler dans VS2005 je reçois la même erreur.
Merci pour votre temps!
OriginalL'auteur Kirill.lv | 2012-03-19
Vous devez vous connecter pour publier un commentaire.
Au cas où quelqu'un d'autre a besoin de résoudre ce problème, voici comment j'ai posté OpenCV/HighGUI exemple de code pour compiler sous Windows 7 x64 à l'aide de MinGW, MSYS, et CMake:
construire OpenCV à partir de la source en utilisant MinGW/MSYS/CMake. C'est parce que je ne pouvais pas obtenir le MinGW version compilée dans le OpenCV-win-SuperPack de lien correctement dans MinGW/MSYS/Windows 7 x64.
Pour une référence complète, voici comment j'ai compilé OpenCV:
mettre l'exemple de code suivant dans un fichier nommé test.c. J'ai modifié le comprend légèrement pour les rendre compatibles avec OpenCV v2.2 et ci-dessus.
dans un MSYS terminal, naviguez jusqu'au dossier où vous avez mis de test.c, et de l'exécuter:
Donc dans mon cas:
Chemin D'Accès De L'Éditeur: http://www.redfernplace.com/software-projects/patheditor/
gcc main.c -lopencv_core -lopencv_imgproc -lopencv_highgui -lm
. Comme vous le voyez, pas de chiffres de fin nécessaire.Ome étape est manquant: CMake ce que doit être sélectionnée lors de la configurer? MSYS Makefiles? MinGW Makefiles?
OriginalL'auteur Anqi
Vous avez le répertoire,
C:\opencv\install\bin
, afin de localiser les bibliothèques sur legcc
/g++
ligne de commande, mais je pense que vous aurez également besoin de spécifier les bibliothèques à utiliser comme éditeur de liens entrées. Je ne suis pas sûr de ce que les bibliothèques font partie de la OpenCV distribution, mais en allant par exemple sur la page d'instructions que vous avez associé, on pourrait être:Vous devrez probablement ajouter une ou plusieurs autres (qui suivent le modèle de nom de
lib*.a
dans leC:\opencv\install\bin
répertoire - ou peut-être quelques autreslib
répertoire que vous devriez être en train de passer dans un-L
option).OriginalL'auteur Michael Burr