yewanji 2023-12-22 16:47 采纳率: 36.3%
浏览 12
已结题

c++程序打包到win7 使用的时候报错找不到vcruntime140.dll ,但是win10可以的

我有一个测试工程。是用c++ vcpkg 安装依赖到项目里面的,比如我安装了一个tesseract 32 位的,版本为5.3 ,我在win10电脑是可以的,换台win10电脑也可以,但是在win7环境运行报错找不到vcruntime140d.dll,请问我如何将缺失的依赖打包进去

img

  • 写回答

9条回答 默认 最新

  • yy64ll826 2023-12-22 17:02
    关注

    在Windows 7上运行C++程序时,如果缺少vcruntime140d.dll,通常是因为缺少Visual C++ Redistributable的一部分。这个DLL是32位版本的Visual C++ Redistributable的一部分,而你的程序是使用vcpkg构建的,因此可能需要将vcpkg所安装的依赖项包含进去。

    以下是一些建议的步骤来解决这个问题:
    引用人工智能的回答

    确保依赖完整:
    
    使用vcpkg在Windows 7上安装相同的依赖项。这可能需要先在Windows 7上安装vcpkg。
    确保所有需要的库都已正确安装,并且版本与你的程序兼容。
    查找缺失的DLL:
    
    在Windows 7上,使用系统的查找功能找到vcruntime140d.dll。可能位于系统的某个位置或通过某种安装的程序。
    手动添加依赖:
    
    如果找到了vcruntime140d.dll,你可以将其复制到你的程序的执行目录中。
    或者,你可以考虑使用工具如Dependency Walker来查看你的程序还依赖哪些其他DLLs,并确保它们都存在。
    使用静态链接:
    
    如果你使用的是Visual Studio来编译你的项目,考虑使用静态链接的方式。这样,所有的依赖项都会被包含在你的程序的执行文件中,而不需要额外的DLLs。
    考虑使用vcpkg的包管理功能:
    
    vcpkg有内建的包管理功能,可以方便地安装、更新和删除库。确保你使用的是与你的目标平台(Windows 7)兼容的vcpkg版本。
    分发时包含依赖:
    
    如果你的程序需要分发给其他人,确保将所有必要的DLLs、库和其他依赖项与你的程序的执行文件一起打包。
    查看文档和社区:
    
    查阅vcpkg的官方文档,看看是否有关于如何解决特定问题的信息。
    在相关的社区和论坛中搜索或提问,可能有其他人遇到了相同的问题并找到了解决方案。
    
    
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 12月25日
  • 创建了问题 12月22日

悬赏问题

  • ¥100 科大讯飞语音唤醒词,unbuntu环境,报错
  • ¥15 可以实现这个有不同背景颜色的九九乘法表吗?
  • ¥50 python写segy数据时出错2
  • ¥20 关于R studio 做精确稳定检验的问题!(语言-r语言)
  • ¥50 用贝叶斯决策方法,设计CAD程序
  • ¥20 关于#目标检测#的问题:(qq收集表到时间才能填写,填写的份数有上限)
  • ¥50 ZYNQ7020双核FLAHS烧写的问题
  • ¥20 ue 5 中想要实现第一人称人物左右行走摆动的效果,摄像头只向右摆动一次(关键词-结点)
  • ¥15 AD9164瞬时带宽1.8G,怎么计算出来?
  • ¥15 鼠标右键,撤销删除 复制 移动,要怎样删除? HKEY_CLASSES_ROOT*\shellex\ContextMenuHandlers 没用