J'utilise Microsoft Visual Studio 2011 Professional Beta
J'essaie d'exécuter les fichiers OpenCV C ++ ( http://opencv.willowgarage.com/wiki/Welcome ) que j'ai compilés à l'aide de cMake et du Visual Studio Complier.
Cependant, lorsque je vais déboguer le projet, j'obtiens plus de 600 erreurs, la plupart d'entre elles étant:
erreur LNK2026: module non sécurisé pour l'image SAFESEH.
Apparemment, ces fichiers sont dans le projet opencv_ffmpeg mais je ne les ai pas trouvés, j'ai jeté un œil à la page Safe Exception Handlers de safeseh sur la page d'aide de Microsoft mais je n'ai pas trouvé de réponses définitives.
Je me demandais si quelqu'un d'autre avait eu ce problème et s'il avait réussi à le résoudre.
c++
visual-studio
visual-c++
Aaron Thompson
la source
la source
Réponses:
D'après les commentaires:
la source
La désactivation de l'option «L'image a des gestionnaires d'exception sécurisés» dans les propriétés du projet -> Propriétés de configuration -> Éditeur de liens -> onglet Avancé m'a aidé.
la source
Si vous rencontrez cette erreur lors de la création de ZLIB dans Visual Studio, voici la solution. Rechercher
contrib\masmx86\bld_ml32.bat
et ajouter/safeseh
en optionAvant
ml /coff /Zi /c /Flmatch686.lst match686.asm ml /coff /Zi /c /Flinffas32.lst inffas32.asm
Après
ml /safeseh /coff /Zi /c /Flmatch686.lst match686.asm ml /safeseh /coff /Zi /c /Flinffas32.lst inffas32.asm
la source
.asm
fichiers dans l'explorateur de solutions à la place.Une autre façon est d'ajouter un gestionnaire SEH (vide par exemple) aux fichiers asm et de les compiler avec l'
/safeseh
option, puis de compiler normalement un autre code avec l'/SAFESEH:YES
option du compilateur.Gestionnaire SEH vide:
la source
/safeseh
semble suffisant. Cela devrait vraiment être voté!Votre kilométrage peut varier, mais aucune des suggestions ci-dessus n'a fonctionné pour moi (même si je n'ai pas essayé de lancer mon propre gestionnaire d'exceptions asm).
Ce qui a fonctionné a été de sélectionner la version cible de construction / x64.
J'exécute Windows 10 sur un ordinateur 64 bits et j'utilise Visual Studio 2015.
La version cible / Win32 fonctionne également. Je suppose que l'essentiel est de choisir "Release".
la source