gpt4 book ai didi

visual-studio-2010 - Visual Studios 2010 程序无法启动,因为缺少 opencv_core243.dll

转载 作者:太空宇宙 更新时间:2023-11-03 20:58:26 26 4
gpt4 key购买 nike

我正在学习如何使用 OpenCV,并且作为练习,我运行了一个程序(在 Release模式下,x64)。我有 0 个编译器错误,但弹出屏幕显示:

"the program can't start because opencv_core243.dll is missing"

但是,我确保声明了正确的环境变量并指定了必要的库/目录。当我将以下 .dll 文件复制到 x64/Release 时,我的问题得到解决:

  • opencv_core243.dll
  • opencv_highgui243.dll
  • opencv_imgproc243.dll

我的程序现在可以正常编译并运行了。但是,我想知道为什么。复制和粘贴这些 .dll 文件感觉很便宜。我是否错过了自动生成这些 .dll 文件的步骤?

最佳答案

这个问题的实际解决方案是将opencv bin目录的路径附加到系统PATH环境变量中。

看看this answer描述了在 Visual Studio 2010 中安装 OpenCV 的完整过程。

这种方法有一个缺点。预构建的 OpenCV x86 和 x64 二进制文件具有相同的名称。因此,通过将 OpenCV 的路径附加到 PATH 变量,您可以同时执行 32 位版本或 64 位版本。要运行其他版本,您必须更改 PATH 变量。

另一种方法(我个人最喜欢的)也包括将 dll 复制到输出目录,但这是在编译结束时自动完成的。我所做的是为 x86 和 x64 dll 路径创建新的环境变量。我创建了分别包含 x86 和 x64 dll 路径的用户变量 CV_BIN32CV_BIN64

创建用户变量后,打开您的 OpenCV 项目,转到 Project Properties -> Build Events -> Post-Build Event -> 命令行

在运行时为您需要的 dll 添加复制命令。

这个用于 Win32 发布配置:

copy "$(CV_BIN32)\opencv_core243.dll" "$(OutDir)"
copy "$(CV_BIN32)\opencv_highgui243.dll" "$(OutDir)"

您可以为所有 4 种配置更改它们,(Debug/Release),(Win32/x64)

现在当项目构建过程完成时,指定的dll将自动复制到输出目录,并且不会显示错误。

关于visual-studio-2010 - Visual Studios 2010 程序无法启动,因为缺少 opencv_core243.dll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14429135/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com