使用Visual Studio 遇到的问题及对应的解决方法--持续更新中

研究生开始使用vs, 期间遇到很多问题,当时都未做笔记归档记录。决定开始记录,其中解决办法未必适合所有遇到相同错误的情况,但希望可以提供一种思路和参考,若文中出现错误或者侵犯版权等情况,请及时联系修改。

1.error C4996

具体错误信息:error C4996: 'std::_Copy_impl': Function call with parameters that may be unsafe - this call relies on the caller to check that the passed values are correct. To disable this warning, use -D_SCL_SECURE_NO_WARNINGS. See documentation on how to use Visual C++ 'Checked Iterators':

解决办法:

1.在出现报错的cpp文件的文件头加上#pragma warning(disable : 4996) 注:该语句只对当前文件生效,并非对整个工程

2.打开“项目”-->“属性”-->“配置属性”-->"C/C++"-->"预处理器"-->"预处理器"定义,增加_CRT_SECURE_NO_DEPRECATE, 注:该项设置对整个工程生效

2.fatal error LNK1112

具体错误信息:fatal error LNK1112: 模块计算机类型“X64”与目标计算机类型“x86”冲突_(解决方案)

解决办法:

1.出现此类问题要先检查当前项目--属性  中平台是否为需要的类型


如果类型不对,可在配置管理器中修改平台类型


2.如果1.中设置正确仍旧出现相同的问题,那么可能是当前项目依赖的 库文件(.dll、.lib)中 包含不同解决方案平台生成的库,需要使用相同的解决方案平台生成库文件。

3.应用程序无法正常启动(0xc000007b)。请单击“确定”关闭应用程序。


备注:此问题可谓是相当令人头大,在不同电脑上运行相同程序,以及在未安装vs的电脑上运行vs程序及其容易出现上述问题;

而且百度搜索解决办法,总是出现以下三个可能的解决办法:
1、电脑没有安装DirectX9或者DirectX 9.0 组件损坏;
2、电脑没有安装Microsoft Visual C++

3、电脑上没有安装.net

刚接触或者不是特别熟悉vs的小伙伴就很容易按照上面的操作解决问题,但是很多时候并不能有效解决。

如果你是在使用vs的过程中出现(0xc000007b)相关问题,那么可以尝试按照下面所述步骤操作:

解决办法:

1.在已经安装vs软件电脑,之前其他程序可以正常运行时:请首先检查程序中使用的.dll版本是否正确,例如 debug/x64 要使用opencv x64的dll/lib库文件;

2.在未安装vs软件的电脑:安装程序对应版本的运行库,例如csdn其他小伙伴发布的资源

参考:https://download.csdn.net/download/y601500359/9111339

若链接失效或者下载失败可以按照图片的类似内容搜索资源。


4.error LNK2038

错误信息:error LNK2038: 检测到“RuntimeLibrary”的不匹配项:  值“MD_DynamicRelease”不匹配值“MDd_DynamicDebug”(time_stat.obj 中)

解决办法:
当前项目与其依赖库对应工程的运行库设置不一样:
项目属性 -> 配置属性 -> C/C++ -> 代码生成 -> 运行库  【设置为相同运行库,重新编译即可】



========等待后续更新=========