kdk
July 24, 2025, 3:30pm
1
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?
I’ll take a look. Can you post your exact CMake commands, the output from the configure stage and your CMake build command.
kdk
July 24, 2025, 5:23pm
3
Strangely opencv_test_cudawarping.exe builds and runs (but opencv_perf_cudawarping.exe doesn’t).
"C:\Program Files\CMake\bin\cmake.exe" -H"C:\OPENCV\opencv" -DOPENCV_EXTRA_MODULES_PATH="C:\OPENCV\opencv_contrib\modules" -B"C:\OPENCV\opencv\BUILD" -G"Ninja Multi-Config" -DCMAKE_BUILD_TYPE=Release -DINSTALL_TESTS=ON -DINSTALL_C_EXAMPLES=ON -DBUILD_EXAMPLES=ON -DBUILD_opencv_world=ON -DENABLE_CUDA_FIRST_CLASS_LANGUAGE=ON -DWITH_CUDA=ON -DCUDA_GENERATION=Auto -DBUILD_opencv_python3=ON -DPYTHON3_INCLUDE_DIR=C:/Users/klenk/miniconda3/envs/opencv/include -DPYTHON3_LIBRARY=C:/Users/klenk/miniconda3/envs/opencv/libs/python313.lib -DPYTHON3_EXECUTABLE=C:/Users/klenk/miniconda3/envs/opencv/python.exe -DPYTHON3_NUMPY_INCLUDE_DIRS=C:/Users/klenk/miniconda3/envs/opencv/lib/site-packages/numpy/_core/include -DPYTHON3_PACKAGES_PATH=C:/Users/klenk/miniconda3/envs/opencv/Lib/site-packages
–
– General configuration for OpenCV 4.13.0-dev =====================================
– Version control: unknown
–
– Extra modules:
– Location (extra): C:/OPENCV/opencv_contrib/modules
– Version control (extra): unknown
–
– Platform:
– Timestamp: 2025-07-24T16:30:43Z
– Host: Windows 10.0.26100 AMD64
– CMake: 4.1.0-rc2
– CMake generator: Ninja Multi-Config
– CMake build tool: C:/PROGRA~1/MICROS~3/2022/COMMUN~1/Common7/IDE/COMMON~1/MICROS~1/CMake/Ninja/ninja.exe
– MSVC: 1944
– Configuration: Debug Release
– Algorithm Hint: ALGO_HINT_ACCURATE
–
– CPU/HW features:
– Baseline: SSE SSE2 SSE3
– requested: SSE3
– Dispatched code generation: SSE4_1 SSE4_2 AVX FP16 AVX2 AVX512_SKX
– SSE4_1 (19 files): + SSSE3 SSE4_1
– SSE4_2 (2 files): + SSSE3 SSE4_1 POPCNT SSE4_2
– AVX (10 files): + SSSE3 SSE4_1 POPCNT SSE4_2 AVX
– FP16 (1 files): + SSSE3 SSE4_1 POPCNT SSE4_2 AVX FP16
– AVX2 (39 files): + SSSE3 SSE4_1 POPCNT SSE4_2 AVX FP16 AVX2 FMA3
– AVX512_SKX (9 files): + SSSE3 SSE4_1 POPCNT SSE4_2 AVX FP16 AVX2 FMA3 AVX_512F AVX512_COMMON AVX512_SKX
–
– C/C++:
– Built as dynamic libs?: YES
– C++ standard: 11
– C++ Compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.44.35207/bin/Hostx64/x64/cl.exe (ver 19.44.35213.0)
– C++ flags (Release): /DWIN32 /D_WINDOWS /W4 /GR /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /Oi /fp:precise /FS /EHa /wd4127 /wd4251 /wd4324 /wd4275 /wd4512 /wd4589 /wd4819 /O2 /Ob2 /DNDEBUG
– C++ flags (Debug): /DWIN32 /D_WINDOWS /W4 /GR /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /Oi /fp:precise /FS /EHa /wd4127 /wd4251 /wd4324 /wd4275 /wd4512 /wd4589 /wd4819 /Zi /Ob0 /Od /RTC1
– C Compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.44.35207/bin/Hostx64/x64/cl.exe
– C flags (Release): /DWIN32 /D_WINDOWS /W3 /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /Oi /fp:precise /FS /O2 /Ob2 /DNDEBUG
– C flags (Debug): /DWIN32 /D_WINDOWS /W3 /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /Oi /fp:precise /FS /Zi /Ob0 /Od /RTC1
– Linker flags (Release): /machine:x64 /INCREMENTAL:NO
– Linker flags (Debug): /machine:x64 /debug /INCREMENTAL
– ccache: NO
– Precompiled headers: NO
– Extra dependencies: 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/nppc.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
– 3rdparty dependencies:
–
– OpenCV modules:
– To be built: aruco bgsegm bioinspired calib3d ccalib core cudaarithm cudabgsegm cudacodec cudafeatures2d cudafilters cudaimgproc cudalegacy cudaobjdetect cudaoptflow cudastereo cudawarping cudev datasets dnn dnn_objdetect dnn_superres dpm face features2d flann fuzzy gapi hfs highgui img_hash imgcodecs imgproc intensity_transform line_descriptor mcc ml objdetect optflow phase_unwrapping photo plot python3 quality rapid reg rgbd saliency shape signal stereo stitching structured_light superres surface_matching text tracking ts video videoio videostab wechat_qrcode world xfeatures2d ximgproc xobjdetect xphoto
– Disabled: -
– Disabled by dependency: -
– Unavailable: alphamat cannops cvv fastcv freetype hdf java julia matlab ovis python2 python2 sfm viz
– Applications: tests perf_tests examples apps
– Documentation: NO
– Non-free algorithms: NO
–
– Windows RT support: NO
–
– GUI:
– Win32 UI: YES
– VTK support: NO
–
– Media I/O:
– ZLib: build (ver 1.3.1)
– JPEG: build-libjpeg-turbo (ver 3.1.0-70)
– SIMD Support Request: YES
– SIMD Support: NO
– WEBP: build (ver decoder: 0x0209, encoder: 0x020f, demux: 0x0107)
– AVIF: NO
– PNG: build (ver 1.6.43)
– SIMD Support Request: YES
– SIMD Support: YES (Intel SSE)
– TIFF: build (ver 42 - 4.6.0)
– JPEG 2000: build (ver 2.5.3)
– OpenEXR: build (ver 2.3.0)
– GIF: YES
– HDR: YES
– SUNRASTER: YES
– PXM: YES
– PFM: YES
–
– Video I/O:
– FFMPEG: YES (prebuilt binaries)
– avcodec: YES (58.134.100)
– avformat: YES (58.76.100)
– avutil: YES (56.70.100)
– swscale: YES (5.9.100)
– avresample: YES (4.0.0)
– GStreamer: NO
– DirectShow: YES
– Media Foundation: YES
– DXVA: YES
–
– Parallel framework: Concurrency
–
– Trace: YES (with Intel ITT(3.25.4))
–
– Other third-party libraries:
– Intel IPP: 2022.1.0 [2022.1.0]
– at: C:/OPENCV/opencv/BUILD/3rdparty/ippicv/ippicv_win/icv
– Intel IPP IW: sources (2022.1.0)
– at: C:/OPENCV/opencv/BUILD/3rdparty/ippicv/ippicv_win/iw
– Lapack: NO
– Eigen: NO
– Custom HAL: YES (ipp (ver 0.0.1))
– Protobuf: build (3.19.1)
– Flatbuffers: builtin/3rdparty (23.5.9)
–
– NVIDIA CUDA: YES (ver 12.9.86, CUFFT CUBLAS NVCUVID NVCUVENC)
– NVIDIA GPU arch: 86
– NVIDIA PTX archs:
–
– cuDNN: YES (ver 9.11.0)
–
– OpenCL: YES (NVD3D11)
– Include path: C:/OPENCV/opencv/3rdparty/include/opencl/1.2
– Link libraries: Dynamic load
–
– Python 3:
– Interpreter: C:/Users/klenk/miniconda3/envs/opencv/python.exe (ver 3.13.5)
– Libraries: C:/Users/klenk/miniconda3/envs/opencv/libs/python313.lib (ver 3.13.5)
– Limited API: NO
– numpy: C:/Users/klenk/miniconda3/envs/opencv/lib/site-packages/numpy/_core/include (ver 2.3.1)
– install path: C:/Users/klenk/miniconda3/envs/opencv/Lib/site-packages/cv2/python-3.13
–
– Python (for build): C:/Users/klenk/miniconda3/envs/opencv/python.exe
–
– Java:
– ant: NO
– Java: NO
– JNI: NO
– Java wrappers: NO
– Java tests: NO
–
– Install to: C:/OPENCV/opencv/BUILD/install
– -----------------------------------------------------------------
–
– Configuring done (42.9s)
– Generating done (45.4s)
– Build files have been written to: C:/OPENCV/opencv/BUILD
"C:\Program Files\CMake\bin\cmake.exe" --build C:\OPENCV\opencv\BUILD --target install --config Release
I am unable to re-create your issue with the versions you are using. Can you check earlier in the build log to see if there are any additional errors?
Did you download the latest commits from both repositories? I’m asking because there is a small chance that you don’t have the fix for CUDA 12.9
4.x
← chacha21:fix_cuda129_msvc
opened 10:29AM - 08 Jul 25 UTC
fix for #27521
Actually, when ENABLE_CUDA_FIRST_CLASS_LANGUAGE is enabled, th… e fix it not necessary. However, even when ENABLE_CUDA_FIRST_CLASS_LANGUAGE is enabled, I have checked that the fix is harmless So I propose to keep it simple for now and enable the fix whatever the state of ENABLE_CUDA_FIRST_CLASS_LANGUAGE
### Pull Request Readiness Checklist
See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request
- [x] I agree to contribute to the project under Apache 2 License.
- [x] To the best of my knowledge, the proposed patch is not based on a code under GPL or another license that is incompatible with OpenCV
- [X] The PR is proposed to the proper branch
- [X] There is a reference to the original bug report and related work
- [ ] There is accuracy test, performance test and test data in opencv_extra repository, if applicable
Patch to opencv_extra has the same branch name.
- [ ] The feature is well documented and sample code can be built with the project CMake
although I would expect to see a much earlier build failiure.
Can you try building just the opencv_perf_cudawarping.exe in new build directory with the latest commits from the 4.x branches. e.g. Start a new CMake config with
-B"C:\OPENCV\opencv\BUILD_test" -DBUILD_opencv_world=OFF
to use a new build directory and only build the dependancies of opencv_perf_cudawarping.exe . Then build with
"C:\Program Files\CMake\bin\cmake.exe" --build C:\OPENCV\opencv\BUILD_test --target opencv_perf_cudawarping --config Release
kdk
July 25, 2025, 8:25am
5
Building opencv_perf_cudawarping.exe alone worked fine. Repeating the complete build I noticed that opencv_perf_cudawarping.exe was being quarantined by Bitdefender, causing the link error. Thanks for your help.
2 Likes
Typical, but at least your bits are safe!!
1 Like