c - 将项目迁移到 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。使所有一致解决了问题。
解决方案
推荐阅读
- java - 相对布局不能转换为 RecyclerView
- spring - 尽管具有管理员角色,但访问被拒绝
- netsuite - 带有suitescript的netsuite中的级联/依赖子列表下拉列表
- node.js - 使用 nodeJS 和 Angular 6 应用程序开发时如何设置高效构建
- asp.net - Sharepoint 2013“_layouts/15/closeConnection.aspx?loginasanotheruser=true”返回几个登录提示
- php - 在 Zend Framework 2.4 中为 Zend\Mail\Message 设置默认传输方法
- excel - 是否可以在数组公式中的数组上使用单单元格公式?
- docker - 无法使用 dockerized spring boot 应用程序创建 RabbitMq 交换
- ubuntu - Ubuntu 安全启动 grub 引导加载程序不验证自定义内核签名
- angular - Angular 2 ngFor 与动态数据