如何在VS 2019中全局配置OpenCV以支持多子项目工程?
全局集成OpenCV到VS2019多子项目解决方案
我之前在VS2019里搞多子项目集成OpenCV时也踩过这个坑!不用每个项目挨个配置,直接在解决方案层面做全局设置就能搞定,具体步骤如下:
1. 打开解决方案级属性设置
在VS的解决方案资源管理器里,找到你的解决方案根节点(就是包含所有子项目的那个节点),右键它,选择属性。
2. 配置VC++目录(包含&库路径)
在弹出的解决方案属性窗口中,依次展开通用属性 > VC++ 目录:
- 在包含目录中,添加OpenCV的头文件路径,示例:
D:\opencv\build\includeD:\opencv\build\include\opencv2
(替换成你自己的OpenCV安装路径) - 在库目录中,添加对应VS版本的OpenCV库文件路径,比如VS2019对应vc16,x64平台的路径示例:
D:\opencv\build\x64\vc16\lib
(如果是x86平台,就换成x86对应的路径)
3. 配置链接器附加依赖项
继续在解决方案属性窗口中,展开通用属性 > 链接器 > 输入:
- 在附加依赖项里,添加对应模式的OpenCV库文件名。比如:
- Debug模式:
opencv_world455d.lib(版本号替换成你安装的OpenCV版本) - Release模式:
opencv_world455.lib
- Debug模式:
- 注意要在窗口顶部的配置下拉框中,分别选择Debug和Release来设置对应的依赖库,避免模式混淆。
4. 确保子项目继承全局配置
大部分子项目默认会自动继承解决方案的全局设置,但如果之前给某个子项目单独配置过OpenCV,需要检查并确认:
- 右键子项目 > 属性
- 进入VC++目录或链接器的对应页面,查看每个输入框的下拉选项,确保勾选了继承自父项或项目默认设置
- 如果有单独设置的路径,建议清除掉,让子项目完全继承全局配置
最后一步:处理运行时DLL
别忘了解决运行时找不到DLL的问题:
- 要么把OpenCV的bin目录(比如
D:\opencv\build\x64\vc16\bin)添加到系统环境变量的Path里,然后重启VS - 要么把对应模式的DLL文件(比如Debug的
opencv_world455d.dll、Release的opencv_world455.dll)复制到解决方案的输出目录(每个子项目的Debug/Release文件夹,或者统一的输出目录)
这样设置后,整个解决方案里的所有子项目(包括你的Demo启动项和依赖子项目)都会自动使用OpenCV,不用再逐个配置啦!
内容的提问来源于stack exchange,提问作者dtr43
相关产品推荐
相关产品推荐

