Il y a quelques jours, j'essaye d'installer opencv en utilisant Dev-Cpp et Windows 10, j'ajoute les répertoires des fichiers .h, .lib et .dll au Dev-Cpp, mais quand je compile le code, je donne toujours moi la même erreur.
Dans les options du compilateur, j'ajoute les répertoires suivants:
-C ++ Headers--
C: \ Users \ admin \ Downloads \ opencv \ build \ include
-Bibliothèques-
C: \ Users \ admin \ Downloads \ opencv \ build \ x64 \ vc15 \ lib
-Fichiers binaires-
C: \ Users \ admin \ Downloads \ opencv \ build \ x64 \ vc15 \ bin
- Code-
c:\mingw\mingw32\bin\ld.exe C:\Users\admin\AppData\Local\Temp\cciHfDkS.o:main.cpp:(.text+0x62): undefined reference to `cv::imread(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)' c:\mingw\mingw32\bin\ld.exe C:\Users\admin\AppData\Local\Temp\cciHfDkS.o:main.cpp:(.text$_ZN2cv3MatD1Ev[__ZN2cv3MatD1Ev]+0x2d): undefined reference to `cv::fastFree(void*)' c:\mingw\mingw32\bin\ld.exe C:\Users\admin\AppData\Local\Temp\cciHfDkS.o:main.cpp:(.text$_ZN2cv3Mat7releaseEv[__ZN2cv3Mat7releaseEv]+0x40): undefined reference to `cv::Mat::deallocate()' c:\mingw\mingw32\bin\ld.exe C:\Users\admin\AppData\Local\Temp\cciHfDkS.o:main.cpp:(.text$_ZN2cv3MataSEOS0_[__ZN2cv3MataSEOS0_]+0xb4): undefined reference to `cv::fastFree(void*)' C:\Users\admin\Desktop\Programacion\collect2.exe [Error] ld returned 1 exit status
-Erreurs-
#include <iostream>
#include <opencv2/imgcodecs.hpp>
int main(){
cv::Mat img;
img = cv::imread("Goten.jpg");
return 0;
}
J'ai installé MinGW 9.2.0, j'ai essayé de le compiler avec les standards C ++ 11, C ++ 14 et C ++ 17
Que puis-je faire pour corriger cette erreur? - Désolé pour mon anglais
3 Réponses :
vcpkg sur Windows nécessite-t-il VisualStudio ou fonctionne-t-il également avec MinGW? (Faire une recherche Google très rapide semble montrer que cela pourrait fonctionner.) Parce que depuis que j'ai découvert vcpkg , je dois admettre que je ne retournerais jamais à installer et à construire des choses à l'ancienne. p>
Maintenant, pour obtenir à peu près tout sur Windows, je clonerais le dépôt vcpkg , exécutais le script d'amorçage, puis exécutez vcpkg.exe install opencv .
cela me donne une erreur car j'utilise dev-cpp et non Visual Studio
Ce sont des erreurs de l'éditeur de liens: cela signifie que le compilateur ne peut pas trouver le code binaire pour ces fonctions.
En d'autres termes, vous avez peut-être oublié de spécifier quelques bibliothèques OpenCV. Si je ne me trompe pas, imread () réside dans opencv_imgcodecs .
Pensez à utiliser un bon éditeur de code source (peut-être GNU emacs ) et compilez sur le ligne de commande (par exemple en utilisant un outil d'automatisation de construction tel que GNU make ou ninja ) dans un émulateur de terminal.
Alors MinGW est en fait une commande avec g ++ ou g++.exe
Il vous suffit ensuite de télécharger le code source de OpenCV et de le compiler dans certains émulateur de terminal. Ou encore mieux, obtenez le code source de github . La compilation d'OpenCV à partir du code source peut durer une dizaine de minutes ou une heure de temps informatique /
BTW, si vous êtes vraiment intéressé par la programmation d'OpenCV, je vous recommande d'installer une distribution Linux (par exemple Debian ). La plupart des systèmes GNU / Linux ont une véritable et récente GCC , pas seulement une émulation de GCC appelée MinGW. p>
Dev-C ++ n'a pas été mis à jour depuis plus de 5 ans. Faites-vous une faveur et passez à un autre IDE.