策略为王编译错误:LNK2026 模块对于 SAFESEH 映像是不安全的

Published

今天将项目由Debug 改为Release以提高程序性能,遇到下面的编译错误:

严重性	代码	说明	项目	文件	行	禁止显示状态
错误	LNK2026	模块对于 SAFESEH 映像是不安全的。	XPFace	G:\stock\TskingVS2019\src\Client\XPFace\Src\htmlhelp.lib(init.obj)	1	

解决办法:
今天使用VS2019遇到一个问题:"链接器工具错误 LNK2026 XXX模块对于 SAFESEH 映像是不安全的"
 
解决方法:

1.打开该项目的“属性页”对话框。

2.单击“链接器”文件夹。

3.单击“命令行”属性页。

4.将 /SAFESEH:NO 键入“附加选项”框中,然后点击应用。

 

我们看到项目配置文件发生了变化,如下:

src/Client/XPFace/Src/XPFace_vc90.vcxproj 

  <SubSystem>Windows</SubSystem>
      <ImportLibrary>..\..\Lib\XPFace.lib</ImportLibrary>
      <TargetMachine>MachineX86</TargetMachine>
   +   <AdditionalOptions>/SAFESEH:NO %(AdditionalOptions)</AdditionalOptions>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">