我正在使用visual studio 2010。 在开始我的项目之前,我安装了cuda SDK 4.2。 之后,我安装了opencv 2.4.2。在我的项目中,我只使用opencv,它可以正常工作。但是,当我尝试在另一台计算机上运行我的程序时,它告诉我需要cuda dll(如cudart32_42_9.dll,npp32_42_9.dll和nvcuda.dll)。我根本没有使用cuda,也没有在我的项目属性中引用cuda。我想知道如何删除这些依赖。我不明白为什么visual studio添加dll我不使用。
答案 0 :(得分:1)
预先构建的OpenCV 2.2以及2个版本的二进制文件(dll)。
\ build \ gpu 目录中的dll是超集,并且是使用CUDA支持构建的。因此,要使用它们,您需要CUDA Runtime dll(cudart,npp等)。如果要使用OpenCV的GPU功能,则需要这些二进制文件。这些也可用于检查系统中是否存在GPU。
在OpenCV的构建目录中的x86或x64文件夹中存在的其他版本的dll是在没有CUDA支持的情况下构建的(尽管该目录中也存在gpu dll)。你不需要cuda dlls来使用这些二进制文件。
这两个版本都支持英特尔线程构建模块,因此需要分别使用tbb_debug.dll和tbb.dll进行调试和发布配置。因此,如果您使用OpenCV的CPU功能,它们将是TBB Accelerated。