c++ - 为什么在 Visual Studio 的 OpenCV 项目中使用 /MT 时仍然需要 dll?
问题描述
嗨,我正在尝试在 VS2015 的 OpenCV 项目中使用 /MT(多线程),当我删除“opencv_world400.dll”时,程序出现错误,表明缺少此 dll。但是我认为 /MT 意味着静态链接,因此不需要 dll,可能是什么问题或原因?
解决方案
/MT
和/MD
参数指定您的项目如何链接到 C++ 运行时库,而不是 OpenCV 。此设置与外部库的唯一区别是,为了避免冲突,所有使用的静态库都应具有与您的项目相同的此参数值。
由于您使用的是 OpenCV 的动态构建,因此更改此设置不会影响 OpenCV。如果您要切换到 OpenCV 的静态构建,则此参数应在 OpenCV 和您的项目中匹配。
推荐阅读
- java - 如何在 2D 数组中填充十个随机元素而不多次填充其中一个元素?
- c# - ZedGraph PointEditEvent 仅在一条曲线中
- javascript - Req.body 为空 node.js 并表示
- javascript - 如何使用 useEffect 挂钩注册事件?
- c++ - 如何制作进度条的跑马灯样式?
- linux - 如何在 x86 汇编中编写自己的 atoi 函数
- jboss7.x - 如何将动态 Jasper 实现为 JBoss AS 7.2 静态模块?
- java - 将java循环转换为JSTL
- r - 在循环中使用胶水和 dplyr 获取关卡名称
- python - 定义要在 odeint 中使用的谐波振荡器函数