Estoy usando Microsoft Visual Studio 2011 Professional Beta
Estoy intentando ejecutar los archivos OpenCV C ++ ( http://opencv.willowgarage.com/wiki/Welcome ) que he compilado con cMake y Visual Studio Complier.
Sin embargo, cuando voy a depurar el proyecto, obtengo más de 600 errores, la mayoría de ellos:
error LNK2026: módulo inseguro para la imagen SAFESEH.
Aparentemente, estos archivos están en el proyecto opencv_ffmpeg pero no pude encontrarlos, he echado un vistazo a la página Safe Exception Handlers de la página de ayuda de Microsoft, pero no pude encontrar ninguna respuesta definitiva.
Me preguntaba si alguien más ha tenido este problema y si lograron solucionarlo.
c++
visual-studio
visual-c++
Aaron Thompson
fuente
fuente
Respuestas:
De los comentarios:
fuente
La desactivación de la opción "La imagen tiene controladores de excepciones seguros" en las propiedades del proyecto -> Propiedades de configuración -> Vinculador -> pestaña Avanzado me ayudó.
fuente
Si recibió este error al compilar ZLIB en Visual Studio, aquí está la solución. Buscar
contrib\masmx86\bld_ml32.bat
y agregar/safeseh
como opciónantes de
ml /coff /Zi /c /Flmatch686.lst match686.asm ml /coff /Zi /c /Flinffas32.lst inffas32.asm
Después
ml /safeseh /coff /Zi /c /Flmatch686.lst match686.asm ml /safeseh /coff /Zi /c /Flinffas32.lst inffas32.asm
fuente
.asm
archivos en el explorador de soluciones.Otra forma es agregar algún controlador SEH (vacío, por ejemplo) a los archivos asm y compilarlos con la
/safeseh
opción, luego compilar otro código normalmente con la/SAFESEH:YES
opción del compilador.Manipulador SEH vacío:
fuente
/safeseh
parece suficiente. ¡Esto realmente debería ser votado a favor!Su kilometraje puede variar, pero ninguna de las sugerencias anteriores funcionó para mí (aunque no intenté usar mi propio controlador de excepciones ASM).
Lo que sí funcionó fue seleccionar la versión de destino de compilación / x64.
Estoy ejecutando Windows 10 en una máquina de 64 bits y uso Visual Studio 2015.
El objetivo Release / Win32 también funciona. Supongo que lo principal es elegir "Liberar".
fuente