Error lnk2026: module unsafe for safeseh image

Visual C++Unsafe

Visual C++ Problem Overview


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.

Visual C++ Solutions


Solution 1 - Visual C++

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 2 - Visual C++

A picture is worth 0x3e8 words for the /SAFESEH:NO linker setting:

enter image description here

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:

enter image description here

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.

Solution 3 - Visual C++

Try to disable SAFESEH.

From spec: /SAFESEH was specified, but a module was not compatible with the safe exception handling feature.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionHoai DamView Question on Stackoverflow
Solution 1 - Visual C++kungfoomanView Answer on Stackoverflow
Solution 2 - Visual C++chappjcView Answer on Stackoverflow
Solution 3 - Visual C++Leo ChapiroView Answer on Stackoverflow