FFMpeg 2.8 在 Visual Studio 2015 下使用时,提示了如下错误:
模块对于 SAFESEH 映像是不安全的。
错误详细信息如下:
严重性
|
<td align="left" valign="middle" width="51" height="17">
<div align="left">
<span style="color: #010101;font-family: 'Segoe UI';font-size: xx-small">代码</span>
</div>
</td>
<td align="left" valign="middle" width="109" height="17">
<div align="left">
<span style="color: #010101;font-family: 'Segoe UI';font-size: xx-small">说明</span>
</div>
</td>
<td align="left" valign="middle" width="75" height="17">
<div align="left">
<span style="color: #010101;font-family: 'Segoe UI';font-size: xx-small">项目</span>
</div>
</td>
<td align="left" valign="middle" width="503" height="17">
<div align="left">
<span style="color: #010101;font-family: 'Segoe UI';font-size: xx-small">文件</span>
</div>
</td>
<td align="left" valign="middle" width="18" height="17">
<div align="left">
<span style="color: #010101;font-family: 'Segoe UI';font-size: xx-small">行</span>
</div>
</td>
<td align="left" valign="middle" width="83" height="17">
<div align="left">
<span style="color: #010101;font-family: 'Segoe UI';font-size: xx-small">禁止显示状态</span>
</div>
</td>
错误
|
<td align="left" valign="middle" width="51" height="32">
<div align="left">
<span style="color: #010101;font-family: 'Segoe UI';font-size: xx-small">LNK2026</span>
</div>
</td>
<td align="left" valign="middle" width="109" height="32">
<div align="left">
<span style="color: #010101;font-family: 'Segoe UI';font-size: xx-small">模块对于 SAFESEH 映像是不安全的。</span>
</div>
</td>
<td align="left" valign="middle" width="75" height="32">
<div align="left">
<span style="color: #010101;font-family: 'Segoe UI';font-size: xx-small">MetaEncoder</span>
</div>
</td>
<td align="left" valign="middle" width="503" height="32">
<div align="left">
<span style="color: #010101;font-family: 'Segoe UI';font-size: xx-small">E:\liumangxuxu\code\30kernel\VideoClipper\shadow\MetaEncoder\swscale.lib(dixcbs00009.o)</span>
</div>
</td>
<td align="left" valign="middle" width="18" height="32">
<div align="left">
<span style="color: #010101;font-family: 'Segoe UI';font-size: xx-small">1</span>
</div>
</td>
<td align="left" valign="middle" width="83" height="32">
</td>
可以把 SAFESEH 这个选项关掉:
把这个SAFESEH关掉。
说明:这个是 Visual Studio 2015 里引入的一个新东西,一般来说,旧版本的 Visual Studio 创建的库,在 2015 里要链接起来的时候,就会提示类似的问题。
如果是使用 cmake 来生成工程时,需要关闭 SAFESEH 这个选项,可以直接使用下面的代码:
IF(${_MACHINE_ARCH_FLAG} MATCHES X86)
<div>
SET (CMAKE_EXE_LINKER_FLAGS “${CMAKE_EXE_LINKER_FLAGS} /SAFESEH:NO”)
</div>
<div>
SET (CMAKE_SHARED_LINKER_FLAGS “${CMAKE_SHARED_LINKER_FLAGS} /SAFESEH:NO”)
</div>
<div>
SET (CMAKE_MODULE_LINKER_FLAGS “${CMAKE_MODULE_LINKER_FLAGS} /SAFESEH:NO”)
</div>
<div>
ENDIF()
</div>
</blockquote>