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 这个选项关掉:
图像 1
把这个SAFESEH关掉。
说明:这个是 Visual Studio 2015 里引入的一个新东西,一般来说,旧版本的 Visual Studio 创建的库,在 2015 里要链接起来的时候,就会提示类似的问题。
如果是使用 cmake 来生成工程时,需要关闭 SAFESEH 这个选项,可以直接使用下面的代码:
IF(${_MACHINE_ARCH_FLAG} MATCHES X86)
  <div>
      SET (CMAKE_EXE_LINKER_FLAGS &#8220;${CMAKE_EXE_LINKER_FLAGS} /SAFESEH:NO&#8221;)
  </div>
  
  <div>
      SET (CMAKE_SHARED_LINKER_FLAGS &#8220;${CMAKE_SHARED_LINKER_FLAGS} /SAFESEH:NO&#8221;)
  </div>
  
  <div>
      SET (CMAKE_MODULE_LINKER_FLAGS &#8220;${CMAKE_MODULE_LINKER_FLAGS} /SAFESEH:NO&#8221;)
  </div>
  
  <div>
    ENDIF()
  </div>
</blockquote>