Saltar al contenido

Error fatal de Opencv C ++ MinGW VSCode para compilar

Solución:

Aquí hay instrucciones para configurar OpenCV en MSYS2 / mingw64. No puedo ayudar con VsCode, pero tal vez esto lo ayude a progresar o ayude a otras personas que encuentren esta pregunta mediante la búsqueda.


No es necesario que cree OpenCV usted mismo; hay binarios preempaquetados para MinGW-w64. El propósito de MSYS2 es proporcionar un shell de estilo Unix y actuar como administrador de paquetes. Si no ha usado MSYS2 antes:

  1. Instale MSYS2 y actualice a la última versión como se muestra aquí.
  2. Abra un shell MSYS2 / mingw64 (no un shell MSYS2 / msys2). Los binarios construidos en este shell se ejecutarán como binarios de Windows independientes, no dependen del entorno MSYS2.
  3. Prueba eso g++ obras.

Entonces puedes agregar OpenCV:

  • pacman -Ss mingw64/mingw-w64-x86_64-opencv

y todo está listo para funcionar. Compilé su programa de muestra usando el siguiente comando en el shell MSYS2:

g++ -o main main.cpp -std=c++17 -lopencv_core -lopencv_highgui -lopencv_imgcodecs -lopencv_imgproc

y ejecutó el programa con éxito.


Tenga en cuenta que no es necesario utilizar MSYS2 para el entorno de compilación; puedes invocar g++ desde el símbolo del sistema de Windows o desde cualquier otro IDE si configura las rutas de inclusión y biblioteca para que apunten al lugar donde el administrador de paquetes de MSYS2 instaló los encabezados y las bibliotecas. (Que esta debajo /mingw64/include/opencv* y /mingw64/lib , en la raíz de instalación de MSYS2).

Tengo éxito al intentar construir y ejecutar un programa C ++ con OpenCV 3.4.1 usando MinGW-w64 g ++ en Visual Studio Code en Windows 10 x64. Pero no sé si esta es realmente la forma “correcta” de hacerlo. Captura de pantalla


  1. Descargue e instale MinGW-w64 elija x86_64-8.1.0-posix-seh-rt_v6-rev0 versión o más reciente http://mingw-w64.org/doku.php/start.
  2. Abra CMD y vaya a C: luego clone este repositorio https://github.com/huihut/OpenCV-MinGW-Build y luego verifique el OpenCV-3.4.1-x64 rama o simplemente ejecuta esto git clone https://github.com/huihut/OpenCV-MinGW-Build.git -b OpenCV-3.4.1-x64
  3. Agregue la carpeta bin Mingw-w64 a la ruta del sistema (para mí, la ruta es C:Program Filesmingw-w64x86_64-8.1.0-posix-seh-rt_v6-rev0mingw64bin)
  4. Agregue la carpeta bin OpenCV mingw que clonó anteriormente a la ruta del sistema (para mí, la ruta es C:OpenCV-MinGW-Buildx64mingwbin)
  5. Por ahora, ya puede construir un programa usando g ++ usando CMD, simplemente escriba g++ test.cpp -IC:OpenCV-MinGW-Buildinclude -LC:OpenCV-MinGW-Buildx64mingwbin -llibopencv_calib3d341 -llibopencv_core341 -llibopencv_dnn341 -llibopencv_features2d341 -llibopencv_flann341 -llibopencv_highgui341 -llibopencv_imgcodecs341 -llibopencv_imgproc341 -llibopencv_ml341 -llibopencv_objdetect341 -llibopencv_photo341 -llibopencv_shape341 -llibopencv_stitching341 -llibopencv_superres341 -llibopencv_video341 -llibopencv_videoio341 -llibopencv_videostab341 solo cambia el test.cpp a su nombre de archivo .cpp.
  6. Abra su archivo .cpp usando Visual Studio Code y luego instale la extensión Code Runner https://marketplace.visualstudio.com/items?itemName=formulahendry.code-runner, yo uso Code Runner para ejecutar fácilmente mi programa.
  7. prensa Ctrl + comma en Visual Studio Code y luego busque "code-runner.executorMap": y cambiar el contenido en"cpp:" entrada a "cd $dir && g++ $fileName -o $fileNameWithoutExt -IC:/OpenCV-MinGW-Build/include -LC:/OpenCV-MinGW-Build/x64/mingw/bin -llibopencv_calib3d341 -llibopencv_core341 -llibopencv_dnn341 -llibopencv_features2d341 -llibopencv_flann341 -llibopencv_highgui341 -llibopencv_imgcodecs341 -llibopencv_imgproc341 -llibopencv_ml341 -llibopencv_objdetect341 -llibopencv_photo341 -llibopencv_shape341 -llibopencv_stitching341 -llibopencv_superres341 -llibopencv_video341 -llibopencv_videoio341 -llibopencv_videostab341 && $dir$fileNameWithoutExt", puede aplicar esto para la configuración del usuario o solo para la configuración del espacio de trabajo. ‘
  8. Después de eso, solo presiona Ctrl+Alt+N para construir y ejecutar su programa o simplemente presione el botón de reproducción.

Creo que también puede aplicar esto a la tasks.json agregando el -IC:OpenCV-MinGW-Buildinclude .. al args parte para usar la depuración de la extensión de Visual Studio Code C / C ++. También puedes agregar "C:/OpenCV-MinGW-Build/include" al c_cpp_properties.json incluir ruta para habilitar intellisense. Si desea utilizar otra versión de OpenCV, simplemente reemplace todos los “341” parte del argumento g ++ a otra versión, por ejemplo, para usar OpenCV 3.3.1 use -llibopencv_calib3d331 etcétera.


EDITAR: He intentado editar mi tasks.json y launch.json y funciona con depurador gdb.
tasks.json : https://gist.github.com/agtbaskara/4a2ec9a3a9a963069e719c0477185321
launch.json : https://gist.github.com/agtbaskara/de04db8b6a31522dd1e62c43aa6e0f89
c_cpp_properties.json : https://gist.github.com/agtbaskara/0eb773ac3085557baf7bf20b031fb49e

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *