Компиляция libffi с VS2012 завершается ошибкой со смертельной ошибкой LNK1281: не удалось создать образ SAFESEH
компиляция libffi с VS11 дает следующую ошибку компоновщика
libffilibffi-3.0.9msWin32Debugffi.dll : fatal error LNK1281: Unable to generate SAFESEH image.
тот же проект отлично компилировался с VS10, но после автоматического обновления с VS2012 он начал давать ошибку компоновщика
объяснение MSDN слишком загадочно и наименее полезно
я мог бы восстановить с /SAFESEH:NO
, но я не знаю последствий.
пожалуйста, посоветуйте, что может пойти не так.
1 ответов
основной смысл отсутствия SAFESEH
Это то, что ваше приложение не будет принято для магазина Windows 8 или для сертификация рабочего стола Windows 8. Если это не проблема для вас, то не стесняйтесь использовать /SAFESEH:NO
.
на документация говорит:
наиболее распространенная причина, по которой компоновщик не может создать изображение, заключается в том, что один или несколько входных файлов (модулей) компоновщика несовместимы с безопасная функция обработчиков исключений. Общей причиной несовместимости модуля с обработчиками безопасных исключений является то, что он был создан с помощью компилятора из предыдущей версии Visual C++.
возможно ли, что обновление проекта до VS2012 изменило настройку на /SAFESEH:YES
. Возможно, вы никогда не строили с SAFESEH
.