visualStudio error LNK2026: 模块对于 SAFESEH 映像是不安全的

本文介绍了一种解决特定编译问题的方法,通过在工程属性中的链接器命令行选项里添加/SAFESEH:NO来禁用SAFESEH安全特性,从而避免编译过程中出现的错误。

解决方法:

1、打开待编译的工程的属性对话框

2、单击“链接器”

3、单击”命令行“

4、将 /SAFESEH:NO 写入”其他选项”下的输入框中

5、点击“应用”,“确定”

6、关闭属性页

7、重新编译工程即可

"D:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\bin\Hostx86\x64\cl.exe" /Foc:\edk2-udk2018\Build\KtiBttPkg\RELEASE_VS2017\X64\KtiBttPkg\KtiBtt\KtiTest\OUTPUT\.\CustomPattern.obj /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Gw /Gs99999 /Ic:\edk2-udk2018\KtiBttPkg\KtiBtt /Ic:\edk2-udk2018\Build\KtiBttPkg\RELEASE_VS2017\X64\KtiBttPkg\KtiBtt\KtiTest\DEBUG /Ic:\edk2-udk2018\MdePkg /Ic:\edk2-udk2018\MdePkg\Include /Ic:\edk2-udk2018\MdePkg\Include\X64 /Ic:\edk2-udk2018\KtiBttPkg /Ic:\edk2-udk2018\KtiBttPkg\Include c:\edk2-udk2018\KtiBttPkg\KtiBtt\CustomPattern.c cl: 命令行 warning D9025 :正在重写“/Gs32768”(用“/Gs99999”) CustomPattern.c "D:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\bin\Hostx86\x64\cl.exe" /Foc:\edk2-udk2018\Build\KtiBttPkg\RELEASE_VS2017\X64\KtiBttPkg\KtiBtt\KtiTest\OUTPUT\.\KtiTest.obj /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Gw /Gs99999 /Ic:\edk2-udk2018\KtiBttPkg\KtiBtt /Ic:\edk2-udk2018\Build\KtiBttPkg\RELEASE_VS2017\X64\KtiBttPkg\KtiBtt\KtiTest\DEBUG /Ic:\edk2-udk2018\MdePkg /Ic:\edk2-udk2018\MdePkg\Include /Ic:\edk2-udk2018\MdePkg\Include\X64 /Ic:\edk2-udk2018\KtiBttPkg /Ic:\edk2-udk2018\KtiBttPkg\Include c:\edk2-udk2018\KtiBttPkg\KtiBtt\KtiTest.c cl: 命令行 warning D9025 :正在重写“/Gs32768”(用“/Gs99999”) KtiTest.c "D:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\bin\Hostx86\x64\cl.exe" /Foc:\edk2-udk2018\Build\KtiBttPkg\RELEASE_VS2017\X64\KtiBttPkg\KtiBtt\KtiTest\OUTPUT\.\AutoGen.obj /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Gw /Gs99999 /Ic:\edk2-udk2018\KtiBttPkg\KtiBtt /Ic:\edk2-udk2018\Build\KtiBttPkg\RELEASE_VS2017\X64\KtiBttPkg\KtiBtt\KtiTest\DEBUG /Ic:\edk2-udk2018\MdePkg /Ic:\edk2-udk2018\MdePkg\Include /Ic:\edk2-udk2018\MdePkg\Include\X64 /Ic:\edk2-udk2018\KtiBttPkg /Ic:\edk2-udk2018\KtiBttPkg\Include c:\edk2-udk2018\Build\KtiBttPkg\RELEASE_VS2017\X64\KtiBttPkg\KtiBtt\KtiTest\DEBUG\AutoGen.c cl: 命令行 warning D9025 :正在重写“/Gs32768”(用“/Gs99999”) AutoGen.c "D:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\bin\Hostx86\x64\lib.exe" /NOLOGO /LTCG /OUT:c:\edk2-udk2018\Build\KtiBttPkg\RELEASE_VS2017\X64\KtiBttPkg\KtiBtt\KtiTest\OUTPUT\KtiTest.lib @c:\edk2-udk2018\Build\KtiBttPkg\RELEASE_VS2017\X64\KtiBttPkg\KtiBtt\KtiTest\OUTPUT\object_files.lst "D:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\bin\Hostx86\x64\link.exe" /OUT:c:\edk2-udk2018\Build\KtiBttPkg\RELEASE_VS2017\X64\KtiBttPkg\KtiBtt\KtiTest\DEBUG\KtiTest.dll /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:_ModuleEntryPoint /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data /WHOLEARCHIVE @c:\edk2-udk2018\Build\KtiBttPkg\RELEASE_VS2017\X64\KtiBttPkg\KtiBtt\KtiTest\OUTPUT\static_library_files.lst 正在生成代码 已完成代码的生成 LINK : warning LNK4281:x64 映像的基址 0x0 适当;将基址设为 4 GB 以上以实现最佳 ASLR 优化 "D:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\bin\Hostx86\x64\link.exe" /OUT:c:\edk2-udk2018\Build\KtiBttPkg\RELEASE_VS2017\X64\KtiBttPkg\KtiBtt\KtiTest\DEBUG\KtiTest.dll /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:_ModuleEntryPoint /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data @c:\edk2-udk2018\Build\KtiBttPkg\RELEASE_VS2017\X64\KtiBttPkg\KtiBtt\KtiTest\OUTPUT\static_library_files.lst 正在生成代码 已完成代码的生成 LINK : warning LNK4281:x64 映像的基址 0x0 适当;将基址设为 4 GB 以上以实现最佳 ASLR 优化 "GenFw" -e UEFI_APPLICATION -o c:\edk2-udk2018\Build\KtiBttPkg\RELEASE_VS2017\X64\KtiBttPkg\KtiBtt\KtiTest\DEBUG\KtiTest.efi c:\edk2-udk2018\Build\KtiBttPkg\RELEASE_VS2017\X64\KtiBttPkg\KtiBtt\KtiTest\DEBUG\KtiTest.dll copy /y c:\edk2-udk2018\Build\KtiBttPkg\RELEASE_VS2017\X64\KtiBttPkg\KtiBtt\KtiTest\DEBUG\KtiTest.efi c:\edk2-udk2018\Build\KtiBttPkg\RELEASE_VS2017\X64\KtiBttPkg\KtiBtt\KtiTest\OUTPUT 已复制 1 个文件。 copy /y c:\edk2-udk2018\Build\KtiBttPkg\RELEASE_VS2017\X64\KtiBttPkg\KtiBtt\KtiTest\DEBUG\KtiTest.efi c:\edk2-udk2018\Build\KtiBttPkg\RELEASE_VS2017\X64\KtiTest.efi 已复制 1 个文件。 copy /y c:\edk2-udk2018\Build\KtiBttPkg\RELEASE_VS2017\X64\KtiBttPkg\KtiBtt\KtiTest\DEBUG\*.map c:\edk2-udk2018\Build\KtiBttPkg\RELEASE_VS2017\X64\KtiBttPkg\KtiBtt\KtiTest\OUTPUT c:\edk2-udk2018\Build\KtiBttPkg\RELEASE_VS2017\X64\KtiBttPkg\KtiBtt\KtiTest\DEBUG\KtiTest.map 已复制 1 个文件。 copy /y c:\edk2-udk2018\Build\KtiBttPkg\RELEASE_VS2017\X64\KtiBttPkg\KtiBtt\KtiTest\DEBUG\*.pdb c:\edk2-udk2018\Build\KtiBttPkg\RELEASE_VS2017\X64\KtiBttPkg\KtiBtt\KtiTest\OUTPUT c:\edk2-udk2018\Build\KtiBttPkg\RELEASE_VS2017\X64\KtiBttPkg\KtiBtt\KtiTest\DEBUG\*.pdb 弦低痴也坏街付ǖ奈募? 迅粗? 0 个文件。 Traceback (most recent call last): Traceback (most recent call last): File "C:\Python27\lib\logging\__init__.py", line 882, in emit File "C:\Python27\lib\logging\__init__.py", line 882, in emit IOError: [Errno 0] Error IOError: [Errno 0] Error Logged from file build.py, line 248 Logged from file build.py, line 248 - Done - Build end time: 11:58:12, Aug.15 2025 Build total time: 00:00:02现在还有什么问题
08-16
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值