Link fails on cudawarping module for OpenCV4.13 with CUDA12.9.1 Windows11 build

kdk
Thu, 24 Jul 2025 15:30:39 +0000
Uncategorized

Building latest OpenCV (4.13) with latest cmake (4.1.rc & 4.0) with latest CUDA (12.9.1, cuDNN 9.11) using cmake commandline arguments suggested at Build OpenCV (including Python) with CUDA on Windows: Comprehensive Guide including Python Bindings, cuDNN, and Nvidia Video Codec SDK, (using ninja generator on Windows 11 x64,vc17), works fine if the cudawarping module is removed from opencv_contrib/modules. When the cudawarping module is included, there is a link error:

‘’’
[3277/3816] Linking CXX executable bin\Release\opencv_perf_cudawarping.exe
FAILED: bin/Release/opencv_perf_cudawarping.exe
C:\WINDOWS\system32\cmd.exe /C “cd . && “C:\Program Files\CMake\bin\cmake.exe” -E vs_link_exe --msvc-ver=1944 --intdir=modules\world\CMakeFiles\opencv_perf_cudawarping.dir\Release --rc=C:\PROGRA~2\WI3CF2~1\10\bin\100261~1.0\x64\rc.exe --mt=C:\PROGRA~2\WI3CF2~1\10\bin\100261~1.0\x64\mt.exe --manifests – C:\PROGRA~1\MICROS~3\2022\COMMUN~1\VC\Tools\MSVC\1444~1.352\bin\Hostx64\x64\link.exe /nologo modules\world\CMakeFiles\opencv_perf_cudawarping.dir\Release\C_\OPENCV\opencv_contrib\modules\cudawarping\perf\perf_main.cpp.obj modules\world\CMakeFiles\opencv_perf_cudawarping.dir\Release\C_\OPENCV\opencv_contrib\modules\cudawarping\perf\perf_warping.cpp.obj /out:bin\Release\opencv_perf_cudawarping.exe /implib:bin\Release\opencv_perf_cudawarping.lib /pdb:bin\Release\opencv_perf_cudawarping.pdb /version:0.0 /machine:x64 /INCREMENTAL:NO /subsystem:console lib\Release\opencv_ts4130.lib lib\Release\opencv_world4130.lib 3rdparty\lib\Release\ippiw.lib 3rdparty\ippicv\ippicv_win\icv\lib\intel64\ippicvmt.lib “C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.9\lib\x64\cudart_static.lib” “C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.9\lib\x64\nppial.lib” “C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.9\lib\x64\nppitc.lib” “C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.9\lib\x64\nppig.lib” “C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.9\lib\x64\nppist.lib” “C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.9\lib\x64\nppidei.lib” “C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.9\lib\x64\cublas.lib” “C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.9\lib\x64\cublasLt.lib” “C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.9\lib\x64\cufft.lib” “C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.9\lib\x64\nppif.lib” “C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.9\lib\x64\nppim.lib” “C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.9\lib\x64\nppicc.lib” “C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.9\lib\x64\nppc.lib” 3rdparty\lib\Release\ipphal.lib 3rdparty\lib\Release\ippiw.lib 3rdparty\ippicv\ippicv_win\icv\lib\intel64\ippicvmt.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib && cd .”
LINK: command “C:\PROGRA~1\MICROS~3\2022\COMMUN~1\VC\Tools\MSVC\1444~1.352\bin\Hostx64\x64\link.exe /nologo modules\world\CMakeFiles\opencv_perf_cudawarping.dir\Release\C_\OPENCV\opencv_contrib\modules\cudawarping\perf\perf_main.cpp.obj modules\world\CMakeFiles\opencv_perf_cudawarping.dir\Release\C_\OPENCV\opencv_contrib\modules\cudawarping\perf\perf_warping.cpp.obj /out:bin\Release\opencv_perf_cudawarping.exe /implib:bin\Release\opencv_perf_cudawarping.lib /pdb:bin\Release\opencv_perf_cudawarping.pdb /version:0.0 /machine:x64 /INCREMENTAL:NO /subsystem:console lib\Release\opencv_ts4130.lib lib\Release\opencv_world4130.lib 3rdparty\lib\Release\ippiw.lib 3rdparty\ippicv\ippicv_win\icv\lib\intel64\ippicvmt.lib C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.9\lib\x64\cudart_static.lib C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.9\lib\x64\nppial.lib C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.9\lib\x64\nppitc.lib C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.9\lib\x64\nppig.lib C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.9\lib\x64\nppist.lib C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.9\lib\x64\nppidei.lib C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.9\lib\x64\cublas.lib C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.9\lib\x64\cublasLt.lib C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.9\lib\x64\cufft.lib C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.9\lib\x64\nppif.lib C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.9\lib\x64\nppim.lib C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.9\lib\x64\nppicc.lib C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.9\lib\x64\nppc.lib 3rdparty\lib\Release\ipphal.lib 3rdparty\lib\Release\ippiw.lib 3rdparty\ippicv\ippicv_win\icv\lib\intel64\ippicvmt.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST:EMBED,ID=1” failed (exit code 1104) with the following output:
LINK : fatal error LNK1104: cannot open file ‘bin\Release\opencv_perf_cudawarping.exe’
‘’’
Strangely, the cmakeLists.txt for cudafilters is almost identical to that of cudawarping, and it builds fine.

How do I get cudawarping to build?

6 posts - 2 participants