我正在Debug
和Release
模式下使用CMake从源代码构建OpenCV和相应的OpenCV贡献模块。在我自己的CMake项目中,我想将OpenCV作为依赖项包含在内,并根据我的应用程序是以Debug
还是Release
模式运行,我想选择正确的OpenCV DLL。
我的文件夹结构如下所示......
opencv_src
.git
...
build
...
bin
Debug
DLL's and PDB's of all Debug OpenCV modules
Release
DLL's of all Rlease OpenCV modules
...
OpenCV.sln
OpenCVConfig.cmake
...
include
...
CMakeLists.txt
使用CMake创建构建文件夹。我有一个环境变量OpenCV_DIR
指向build
目录,以便找到OpenCV并且CMake可以正常运行我的应用程序。我现在的问题是如何处理DLL。如果您不是自己从源代码编译OpenCV而是使用二进制安装程序,Release
和Debug
的DLL和PDB都在同一文件夹中,并将此文件夹添加到{{1 Windows中的变量,一切都编译,没有错误。使用OpenCV的源代码构建,理论上我必须将PATH
和Release
文件夹添加到Debug
。使用CMake有没有更好的解决方案?