首页 > 解决方案 > 将项目迁移到 VS2017 后访问冲突

问题描述

我最近将我的项目代码从 VS2010 迁移到 VS2017。该项目在 VS2010 上运行良好。我在 VS2017 中构建了应用程序,解决了构建问题,但是当我运行时,我在 VS2017 上遇到访问冲突错误。

错误位置在代码中:

time_t strtclk[1];
time (strtclk); 

我在代码中没有看到任何问题。
为了交叉检查代码、头文件和链接选项的正确性,我在 VS2017 中创建了一个测试程序 time() 并成功执行。

我的项目设置信息:
平台工具集:Visual Studio2017(v141),
Windows SDK 版本:SDK 10.0.17763.0

我添加的其他库是:

libvcruntime.lib;  
libcmt.lib;  
libucrt.lib

让我知道是否有人有线索。

编辑:我觉得代码没有问题。可能与编译/链接选项有关。我交叉检查并确保我正在构建 32 位。我不知道还有什么要交叉检查的。当我们升级/更改编译过程时,我想不出还有什么可能导致访问冲突。

EDIT2:我找出了问题的原因。解决方案中有多个项目,构建 dll。但是每个编译器的设置都不同。很少使用 /MD 构建,很少使用 /MT。使所有一致解决了问题。

标签: cvisual-studio

解决方案


推荐阅读