首页 > 解决方案 > 为什么在 Visual Studio 的 OpenCV 项目中使用 /MT 时仍然需要 dll?

问题描述

嗨,我正在尝试在 VS2015 的 OpenCV 项目中使用 /MT(多线程),当我删除“opencv_world400.dll”时,程序出现错误,表明缺少此 dll。但是我认为 /MT 意味着静态链接,因此不需要 dll,可能是什么问题或原因?

标签: c++visual-studioopencvdll

解决方案


/MT/MD参数指定您的项目如何链接到 C++ 运行时库,而不是 OpenCV 。此设置与外部库的唯一区别是,为了避免冲突,所有使用的静态库都应具有与您的项目相同的此参数值。

由于您使用的是 OpenCV 的动态构建,因此更改此设置不会影响 OpenCV。如果您要切换到 OpenCV 的静态构建,则此参数应在 OpenCV 和您的项目中匹配。


推荐阅读