You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何通过一条命令将OpenCV DLL文件复制到CMake的Debug/Release目录?

一条命令完成Debug/Release模式的DLL批量复制

嘿,这事儿好办!要一次搞定两个模式的DLL复制,不管用Windows命令提示符(CMD)还是PowerShell都能做到一条命令完成,给你两种实用方案:

方案1:Windows命令提示符(CMD)写法

直接用xcopy命令配合&&把两个复制操作串联,一条命令就能执行:

xcopy "C:\opencv-3.4.0-opencl\bin\Debug\*.dll" "myproj\build\bin\Debug\" /Y /I && xcopy "C:\opencv-3.4.0-opencl\bin\Release\*.dll" "myproj\build\bin\Release\" /Y /I
  • /Y:自动覆盖目标目录已存在的同名文件,无需手动确认;
  • /I:如果目标目录不存在,自动创建它;
  • 小提醒:你的原始路径里多了个多余的点(opencv-3.4.0.-opencl),我在命令里修正成了opencv-3.4.0-opencl,如果实际路径确实带点,记得改回对应路径哦!

方案2:PowerShell写法(更灵活)

要是你常用PowerShell,可以用Copy-Item命令实现,同样一条命令搞定:

Copy-Item -Path "C:\opencv-3.4.0-opencl\bin\Debug\*.dll" -Destination "myproj\build\bin\Debug\" -Force; Copy-Item -Path "C:\opencv-3.4.0-opencl\bin\Release\*.dll" -Destination "myproj\build\bin\Release\" -Force
  • -Force:强制覆盖已存在的文件,和CMD里的/Y作用一致;
  • 想更简洁的话,还可以用循环遍历模式名,扩展性更强(以后加新模式直接在数组里加就行):
foreach ($mode in @("Debug", "Release")) { Copy-Item -Path "C:\opencv-3.4.0-opencl\bin\$mode\*.dll" -Destination "myproj\build\bin\$mode\" -Force }

执行命令前,确保源路径的DLL文件存在就行,目标目录不存在的话,上面的命令会自动帮你创建~

内容的提问来源于stack exchange,提问作者Stepan Yakovenko

火山引擎 最新活动