You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

不同Visual Studio版本下msvc110d.dll缺失问题及解决方案咨询

解决VS2019加载旧Allegro5项目时msvc110d.dll缺失的问题

我完全理解你的困扰——这种旧项目依赖运行时库的问题确实头疼,而且直接丢dll确实不是长久之计。好消息是你不需要新建项目,通过修改现有配置就能适配VS2019的MSVC运行时,下面是具体步骤和建议:

一、修改现有项目配置适配VS2019

1. 升级项目工具集

这是最关键的一步,让项目切换到VS2019的编译器和链接器:

  • 右键你的项目 → 属性 → 配置属性 → 常规
  • 找到「平台工具集」,下拉选择v142(这是VS2019对应的工具集版本,v140对应VS2015,v141对应VS2017)
  • 注意要切换到「所有配置」(Debug/Release模式都要修改),别只改单一模式

2. 替换适配VS2019的Allegro5库

你之前使用的Allegro5大概率是用旧版VS编译的,导致它依赖旧的MSVC运行时:

  • 去Allegro官网下载对应VS2019的预编译库包,或者自己用VS2019重新编译Allegro5的源码(更推荐,能彻底避免依赖冲突)
  • 打开项目属性 → 配置属性 → VC++目录:
    • 把「包含目录」换成新Allegro库的头文件路径
    • 把「库目录」换成新Allegro库的lib文件路径
  • 再到「链接器 → 输入」,把附加依赖项里的旧Allegro库文件名换成新的(比如Debug模式用allegro-5.x.x-monolith-debug.lib,Release模式用allegro-5.x.x-monolith.lib

3. 对齐运行时库设置

确保项目的运行时库和Allegro库的编译模式完全一致:

  • 右键项目 → 属性 → 配置属性 → C/C++ → 代码生成 → 运行时库
    • Debug模式选多线程调试 DLL (/MDd)(如果你用的是动态链接的Allegro)
    • Release模式选多线程 DLL (/MD)
    • 如果你用的是静态编译的Allegro,就对应选/MTd(Debug)和/MT(Release)

二、如果配置修改无效,再考虑新建项目迁移

如果上述步骤后还是存在问题,再新建VS2019项目迁移内容:

  • 复制所有源文件、头文件、资源文件到新项目目录,然后添加到项目中
  • 逐行复刻旧项目的关键配置:附加包含目录、库目录、链接器依赖、预处理器定义、编译选项等
  • 确保新项目的平台工具集是v142,运行时库设置和新Allegro库匹配

三、避免未来出现此类问题的建议

  • 匹配第三方库的VS版本:始终使用和当前VS版本一致的第三方库预编译包,或者自己用当前VS编译源码,从根源避免运行时依赖不兼容
  • 保存项目模板:把调好的平台工具集、运行时库等配置保存为项目模板,以后新建项目直接用模板,不用重复配置
  • 用NuGet管理依赖:如果Allegro有官方NuGet包,优先用NuGet安装,它会自动匹配当前VS的工具集和运行时库,减少手动配置的错误
  • 定期清理项目:定期删除项目的中间文件(obj目录)和输出目录(bin目录),避免旧版本的库文件残留干扰

内容的提问来源于stack exchange,提问作者harisiad

火山引擎 最新活动