gpt4 book ai didi

c++ - 使用 CMake、CUDA 9.0 RC 和 Visual Studio 2017 安装带有 contrib 模块的 OpenCV 3.3.0

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:50:43 25 4
gpt4 key购买 nike

我正在尝试使用最新的 CUDA 9.0 RC 安装带有 contrib 模块的 OpenCV 3.3.0,因此它与 Microsoft Visual Studio 2017 兼容。CUDA 安装很简单,并成功集成到 VS 2017 中。我正在根据各种在线说明使我能够在没有 CUDA 的情况下成功构建 contrib 模块。

但是,当我运行 CMake 时(确保我将其设置为 VS 2017 x64,请参阅:CMake: CUDA libraries not found when compiling OpenCV),我得到了经典的:

CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
CUDA_nppi_LIBRARY (ADVANCED):
linked by target...

这不是上面发布的 x64 问题。 CUDA 9.0RC 物理上不包含 nppi.lib,相反,Nvidia 似乎将其分解为几个库:nppial.lib、nppicc.lib、nppicom.lib、nppidei.lib、nppif.lib、nppig.lib、nppist。 lib nppisu.lib 和 nppitc.lib

为了解决这个问题,我将 CUDA 8.0 中的 nppi.lib 直接添加到 CUDA 9.0 的库目录中。这似乎让 CMake 的配置变得愉快,但最终当我在 Visual Studio 中构建解决方案时,几乎所有的事情都会失败,并出现以下变化:

5>LINK : fatal error LNK1104: cannot open file '..\..\lib\Release\opencv_core330.lib'
5>Done building project "opencv_ml.vcxproj" -- FAILED.

我还尝试进入 CMakeCache 文件并将 nppi 库的路径更改为上述所有文件,并用分号分隔。结果是一样的。 (请注意,我只更改了库文件路径,而不是 CMakeCache 中所有其他提到的 nppi)

我预计这可能是 CUDA 9.0 RC 的问题,可能需要 CMake 的补丁。有没有人有解决方法/我做错了什么?如果你们能提供任何帮助,我将不胜感激。

最佳答案

我已经解决了这个问题。我使用 lib.exe 将这几个库合并为一个库。

  1. 运行“适用于 VS 2017 的 x64 native 工具命令提示符”
  2. cd 进入 cuda 文件夹
  3. lib.exe/out:nppi.lib nppial.lib nppicc.lib nppicom.lib nppidei.lib nppif.lib nppig.lib nppim.lib nppist.lib nppisu.lib nppitc.lib

关于c++ - 使用 CMake、CUDA 9.0 RC 和 Visual Studio 2017 安装带有 contrib 模块的 OpenCV 3.3.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45525377/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com