CMake error del compilador módulo de ventanas c ++ proyecto de imagen SAFESEH no es seguro (LNK2026 de error), no puede abrir el archivo "libc.lib" (LNK1104 de error)

Con el plugin NSIS interfaz oficial construyó un proyecto de C ++, encontré que muy extraño error:

LINK : fatal error LNK2026: 模块对于 SAFESEH 映像是不安全的
LINK : fatal error LNK1104: 无法打开文件“LIBC.lib”

La solución está en el CMakeLists.txtmedio de add_executableo add_libraryañadir un enlace a firmar antes de:

set(CMAKE_EXE_LINKER_FLAGS  "${CMAKE_EXE_LINKER_FLAGS} /SAFESEH:NO /NODEFAULTLIB:libc.lib")		# 程序输出文件为exe文件时起作用
set(CMAKE_SHARED_LINKR_FLAGS "${CMAKE_SHARED_LINKR_FLAGS} /SAFESEH:NO /NODEFAULTLIB:libc.lib")		# 程序输出文件为dll文件时起作用
set(CMAKE_STATIC_LINKER_FLAGS "${CMAKE_STATIC_LINKR_FLAGS} /SAFESEH:NO /NODEFAULTLIB:libc.lib")	        # 程序输出文件为lib文件时起作用
set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} /SAFESEH:NO /NODEFAULTLIB:libc.lib")	# 程序输出文件为module文件时起作用

Además, el método anterior puede estar manualmente vs el 项目属性->链接器->命令行añadió /SAFESEH:NO /NODEFAULTLIB:libc.lib, funcionan igual de bien.

Artículo de referencia
[1] Enlazador de error LNK2026 herramientas módulo XXX imagen para SAFESEH es insegura

Supongo que te gusta

Origin www.cnblogs.com/macrored/p/12629161.html
Recomendado
Clasificación