unresolved external symbol __report_rangecheckfailure 解决思路

unresolved external symbol __report_rangecheckfailure 解决思路

__report_rangecheckfailure  是用来检查堆栈缓存溢出的,如果编译的时候打开GS(project property--》Configuration properties--》c/c++--》Code generation--》Buffer security check)选项时(GS编译选项解析),编译器将为你加入检测函数堆栈缓存溢出错误额外代码。具体实现在window下的运行时库文件msvcrt.dll中。而这些检查堆栈缓存溢出的代码中在msvcrt11.dll及以后版本中都会调用到__report_rangecheckfailure
函数,所以当你用vs2010及以前版本进行开发,并使用了由vs2012及以后编译器编译的库文件时,在链接的时候就会报这样的错误。

解决版本:

一、用当前vs重新编译库文件;

二、编译库文件的时候关闭GS选项;

三、使用vs2012及以上版本进行开发;

参考链接:http://www.datazx.cn/Forums/en-US/7abc7f63-c3a6-4a55-babc-6914870d4959/unresolved-external-symbol-reportrangecheckfailure?forum=vcgeneral

时间: 2024-11-08 05:20:07

unresolved external symbol __report_rangecheckfailure 解决思路的相关文章

VC6.0 error LNK2001: unresolved external symbol _main解决办法

学习VC++时经常会遇到链接错误LNK2001,该错误非常讨厌,因为对于编程者来说,最好改的错误莫过于编译错误,而一般说来发生连接错误时,编译都已通过.产生连接错误的原因非常多,尤其LNK2001错误,常常使人不明其所以然.如果不深入地学习和理解VC++,要想改正连接错误LNK2001非常困难. 初学者在学习VC++的过程中,遇到的LNK2001错误的错误消息主要为: unresolved external symbol "symbol"(不确定的外部"符号").

LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main

在创建MFC项目时,如果没有设置好项目参数, 就会在编译时产生很多连接错误, 如我今天遇到的: LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main 解决方法: 控制台项目要使用windows子系统, 而不是console, 设置:[Project] --> [Settings] --> 选择"Link"属性页,在Project Options中将/subsystem:console改成/

MFC 编译链接错误:unresolved external symbol

编译MFC程序过程出现以下错误: Error LNK2019 unresolved external symbol __imp___vsnprintf 解决方法:在Visual Studio工程选项,链接器附加依赖项里面添加legacy_stdio_definitions.lib即可. LNK2001 unresolved external symbol __imp___iob 解决方法:在程序中重新定义_iob, 加上这段代码:extern"C" { FILE _iob[] = {

C++使用模板类时出现LNK2019 unresolved external symbol错误.

如果你在使用模板类的时候, Declaration和Definition都没有问题, 但却出现了unresolved external symbol错误. 那你应该时遇到了和我一样的问题. 这是一个链接错误, 即程序在运行时并没有找到你所调用的外部符号. C++在编译普通类和模板类是稍有不同. 在编译普通类时, 会在编译时就令其生成编译单元. 所以如果你调用了头文件里函数, 编译器会首先在你包含的头文件中寻找该函数, 如果该函数没有被实现(Definition), 他会在其他编译单元的导出符号表

Google glog error LNK2001: unresolved external symbol "__declspec(dllimport) int fLI::FLAGS_XXXX 错误的解决。

想在 windows 下使用 glog,使用类似 FLAGS_max_log_size 来设置参数,结果编译报错. 解决办法是在 项目属性 -> C/C++ -> Preprocessor -> Preprocessor Definitions 加入 GOOGLE_GLOG_DLL_DECL=. Google glog error LNK2001: unresolved external symbol "__declspec(dllimport) int fLI::FLAGS_

unresolved external symbol __endthreadex错误解决

unresolved external symbol __endthreadex错误解决在用VC6.0写程序调试时,初学者总是会遇到一些错误,针对如下错误主要是因为MFC类库没有引用所出现的问题.错误现象:nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadexnafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external s

错误之unresolved external symbol

1>WinMain.obj : error LNK2019: unresolved external symbol [email protected]4 referenced in function [email protected]16 2>WinMain.obj : error LNK2019: unresolved external symbol [email protected]4 referenced in function [email protected]16 3>WinM

officeView.obj : error LNK2001: unresolved external symbol [email protected]

vc编译时出现 Linking... officeView.obj : error LNK2001: unresolved external symbol [email protected] Debug/office.exe : fatal error LNK1120: 1 unresolved externals Error executing link.exe. 的错误 原因是缺少lib文件 解决办法: 加上这句#pragma comment(lib, "shlwapi.lib."

unresolved external symbol [email protected]

使用VC2010创建DLL文件,编译后提示错error LNK2001: unresolved external symbol [email protected]  解决的办法: Linker->Input->Additional Dependencies:Debug:加入 msvcrtd.libRelease:加入 msvcrt.lib