Error lnk2026: module unsafe for safeseh image
Solution 1
Try to disable SAFESEH.
From spec: /SAFESEH was specified, but a module was not compatible with the safe exception handling feature.
Solution 2
In Visual Studio 2012 Express Edition:
Right-click on your project ->
Properties ->
Configuration Properties ->
Linker ->
Advanced and changed "Image Has Safe Exception Handlers" to "No (/SAFESEH:NO)"
Solution 3
A picture is worth 0x3e8 words for the /SAFESEH:NO
linker setting:
Or you can tell MASM to provide a guarantee that the object contains no exception handlers or that any exception handlers are defined with .SAFESEH, if you know that to be correct for your assembly code:
This will allow you to keep /SAFESEH
enabled for the project's linking. But is it correct? You are making the guarantee! Be sure or use the first option.
Hoai Dam
Here's my linked in profile: https://www.linkedin.com/in/hoaidv/
Updated on July 09, 2022Comments
-
Hoai Dam almost 2 years
I got this error when building a sample visual C++ project. First I downloaded 3 sample projects, all solve the same problem, print out all the prime numbers less than N (you may know these sample projects ?). I built the pure-C project without any problem. But when I tried to build the assembly-based project one, I got this error.
Thank you.
-
Hoai Dam over 11 yearsI got it, thanks! But is every assembly-based mudule unsafe ? And where can I search for the standard of a SAFE module ?
-
Leo Chapiro over 11 yearsTake a look at this article: social.msdn.microsoft.com/Forums/en-US/vcgeneral/thread/… HTH
-
mirabilos over 2 years@LeoChapiro thanks! From there (Mike Danes): 「But it seems that it is easy to make masm generate a safeseh object file, just set the Use Safe Exception Handler MASM property to Yes (see Project Properties, Microsoft Macro Assembler, Advanced). • See also the
.safeseh
MASM directive here: docs.microsoft.com/en-us/cpp/assembler/masm/… but probably you don't need it because your assembly code doesn't really contain any exception handlers.」 (link fixed)