我目前正在用 C++ 试验 OpenCV 库。我已经设置了 MinGW、CMake,并且正在 VSCode 中进行编码。但是,我遇到了一个不便之处,每次我想运行可执行程序(.exe)时,我都需要手动将所有必需的 DLL 文件复制到项目目录中。是否有配置或设置可以帮助我避免不断复制粘贴 DLL?
在CMakeLists.txt中,我已经设置了:
set(OpenCV_DIR Path_to_opencv_lib)
find_package( OpenCV REQUIRED )
我不清楚为什么我们首先需要将 DLL 复制到当前项目目录中。
任何有关这些问题的帮助将不胜感激。
我假设 DLL 当前位于您的 OpenCV 安装文件夹中。
当您运行 exe 时,它将尝试从当前文件夹或从 PATH
环境变量中列出的文件夹
加载 DLL。因此你有2个选择:
PATH
环境变量中。在这种情况下,它们不会被复制,而是直接从原始文件夹加载。
here。 此类命令的示例如下:
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD COMMAND copy <DLLs folder>/*.dll ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})