10

使用 VS11 编译 libffi 会出现以下链接器错误

libffi\libffi-3.0.9\ms\Win32\Debug\ffi.dll : fatal error LNK1281: Unable to generate SAFESEH image.

同一个项目用 VS10 编译得很好,但是用 VS2012 自动升级后,它开始给出链接器错误

MSDN中的解释太晦涩难懂了

我可能会用 重建/SAFESEH:NO,但我不确定其中的含义。

请告知可能出现的问题。

4

1 回答 1

20

没有的主要含义SAFESEH是您的应用程序不会被 Windows 8 商店或Windows 8 桌面认证接受。如果这对您来说不是问题,请随意使用/SAFESEH:NO.

文档说:

链接器无法生成图像的最常见原因是链接器的一个或多个输入文件(模块)与安全异常处理程序功能不兼容。模块与安全异常处理程序不兼容的一个常见原因是因为它是使用 Visual C++ 早期版本的编译器创建的。

项目升级到 VS2012 是否有可能将设置更改为/SAFESEH:YES. 也许您从未使用SAFESEH.

于 2013-01-31T17:10:30.497 回答