c++ - 为什么我在 Visual Studio 的 OpenCV 项目中使用/MT 时仍然需要 dll?

标签 c++ visual-studio opencv dll

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

最佳答案

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

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

关于c++ - 为什么我在 Visual Studio 的 OpenCV 项目中使用/MT 时仍然需要 dll?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52355472/

相关文章:

c++ - ifstream::ifstream 在目录上的行为是否定义明确?

c++ - Poco::Net HTTPServer:如何检测断开连接的客户端?

visual-studio - 'Visual Studio Explorers and Designer Package'软件包未正确加载

opencv - 如何应用不是 cv2.THRESH_BINARY 掩码的掩码来使用 python-opencv 覆盖原始图像?

python - 在 numpy 中附加 3d 数组

c++ - 你如何强制 cv::Mat 中的数据类型在创建时 float ?

c++ - 在不使用自旋锁的情况下在空队列上暂停线程

sql-server - Visual Studio - 将 dacpac 发布为 NuGet 包,以便其他数据库项目可以引用该数据库

visual-studio - VS Express 还是 VS :WebDev Express include XSLT debugging

c++ - 构造一个对象,将其传递给基类构造函数以控制其生命周期