以前写C/C++的时候用IDE不多,用VS更不多,开始用之后经常会出现一些比较低级的问题。
比如说这次计图要求上交代码与可执行EXE,必须保证在他人装了VS2013的系统上直接运行。
一开始直接把debug(32位)出的exe拿出来,文件夹里装上必要dll(如glut32.dll)发给别人测试,结果是在装有同版本VS的机器上可以执行,在低版本或无VS的机器上会直接内存报错。
于是尝试编译release版本,编译器却会提示:“ error LNK2026: 模块对于 SAFESEH 映像是不安全的。 ”
怎么解决呢?查阅资料后以下操作:
1. 进入项目project--项目属性project configuration--链接器linker--命令行command line下
2.将 /SAFESEH:NO 键入“其他选项”中,然后点击应用,确定。
这样就可以顺利生成release版了,提交给无VS的windows机器下也可以正常运行(๑•̀ㅂ•́)و✧
P.S.据说使用静态链接库也可以解决问题。