cmake編譯opencv時指定cuda版本

2022-01-23 04:18:16 字數 927 閱讀 5466

之前有網友提問說,基於cmake編譯時如果切換cuda版本,比如我同時裝了cuda8和cuda9,opencv總是找到cuda9,我想用cuda8怎麼辦?實際上,手頭上要配置的工程是基於opencv3.1.0的,這個版本沒有對cuda9.0的支援,與其去改opencv的cmake指令碼原始碼,不如切換一下cuda版本。

檢視了findcuda.cmake原始碼知道,呼叫cmake時指定cuda_toolkit_root_dir即可,例如

set cuda_toolkit_root_dir="d:/soft/nvidia gpu computing toolkit/cuda/v8.0"

cmake ^

-g "visual studio 14 2015 win64" ^

-d cmake_build_type=release ^

-d cmake_install_prefix=%cd%/install ^

-d with_cuda=on ^

-d cuda_toolkit_root_dir=%cuda_toolkit_root_dir% ^

-d with_vtk=off ^

-d with_matlab=off ^

-d build_docs=on ^

-d opencv_extra_modules_path=d:/lib/opencv_contrib_310/modules ^

../sources

cd ..

順帶吐槽一下findcuda.cmake的注釋,寫的誤導人:一上來說要指定cuda_bin_path來切換cuda版本,但是試了下並沒卵用,還是找到9.0而不是8.0。仔細看了後面find_path等相關原始碼才發現是要指定cuda_toolkit_root_dir

cmake編譯opencv專案

其他方法與優缺點 example.cpp include include using namespace cv using namespace std intmain int argc,char ar imshow demo src waitkey 0 return0 在專案檔案中新建cmakeli...

CMake編譯時踩得坑

1 找不到cmake make program 將qt中 mingw 編譯器的路徑 cmake make program d qt tools mingw730 64 bin mingw32 make.exe填入即可 2 qt5 dir d qt 5.12.2 mingw73 64 lib cmak...

使用GCC和CMake編譯OpenCV

注意 此教程認為你已經成功的在你的工作平台上安裝了opencv。來看乙個簡單的程式例如displayimage.cpp如下 include include using namespace cv int main int argc,char argv mat image image imread ar...