c++ - visual - La compilación de libffi con VS2012 falla con el error fatal LNK1281: no se puede generar la imagen SAFESEH
update for visual c++ 2013 and visual c++ redistributable package (1)
La principal consecuencia de no tener SAFESEH
es que su aplicación no será aceptada para la tienda de Windows 8 o para la certificación de escritorio de Windows 8 . Si eso no es un problema para usted, entonces siéntase libre de usar /SAFESEH:NO
.
La documentación dice:
La razón más común para que el enlazador no sea capaz de producir una imagen es porque uno o más de los archivos de entrada (módulos) del enlazador no eran compatibles con la característica de manejadores de excepciones seguros. Una razón común para que un módulo no sea compatible con los manejadores de excepciones seguros es que se creó con un compilador de una versión anterior de Visual C ++.
Es posible que la actualización del proyecto a VS2012 haya cambiado la configuración a /SAFESEH:YES
. Quizás nunca has estado construyendo con SAFESEH
.
La compilación de libffi con VS11 proporciona el siguiente error de enlazador
libffi/libffi-3.0.9/ms/Win32/Debug/ffi.dll : fatal error LNK1281: Unable to generate SAFESEH image.
El mismo proyecto estaba compilando bien con VS10, pero después de una actualización automática con VS2012, comenzó a dar un error de enlazador
La explicación en MSDN es demasiado críptica y menos útil
Podría reconstruir con /SAFESEH:NO
, pero no estoy seguro de la implicación.
Por favor, advierta qué podría salir mal.