我需要在 VS2012 中使用 /GS 编译器开关吗?

Posted

技术标签:

【中文标题】我需要在 VS2012 中使用 /GS 编译器开关吗?【英文标题】:Do I need the /GS compiler switch in VS2012? 【发布时间】:2013-02-12 10:47:41 【问题描述】:

将我们的软件从 VS2005 迁移到 VS2012 后,出现以下错误

error LNK2019: unresolved external symbol ___report_rangecheckfailure referenced in function _main

这是由使用 /GS 选项引起的。在 VS2012 中有一个扩展的安全开关 /sdl。我不再需要 /GS 了吗?如果不是,我怎样才能在不放弃安全性的情况下解决这个问题?

【问题讨论】:

【参考方案1】:

哦,原因是额外的库,它们是从 vs2005 迁移而来的。项目现在可以使用这两个选项进行编译。

【讨论】:

那些额外的库会是什么?

以上是关于我需要在 VS2012 中使用 /GS 编译器开关吗?的主要内容,如果未能解决你的问题,请参考以下文章

为啥我无法在 win64 上使用 boost 1.54 编译 VS2012 C++ 代码?

VS2012编译的DLL动态库为啥在VS2012上调用正常,在VS2008上使用失败

VS2008里,创建一个win32 static libraryd静态库后,怎么添加一个 symbol “TETLIBRARY” 到编译开关?

VS2012 编译器奇怪的内存释放问题

在vs 2012中运行fortran语言时出现提示Debug win 32需要win 32平台支持编译,是啥情况?

如何使用命令行msbuild部署VS2012网站项目而不进行预编译?