Я пытаюсь скомпилировать программу, которая использует как CUDA, так и OpenCV. Я уверен, что пути к OpenCV прав, потому что составление простой программы OpenCV с этим:Ошибка соединения OpenCV 2.4 + Командная строка Windows 7 (x64) CUDA
cl /I"%OPENCV_DIR%\include" /LINK"%OPENCV_DIR%\x64\vc10\lib\opencv_core240.lib" "%OPENCV_DIR%\x64\vc10\lib\opencv_highgui240.lib" testCV.cpp
успешно компилирует программу. Теперь, когда я пытаюсь скомпилировать с NVCC так:
nvcc testCuda.cu --cl-version 2010 --use-local-env -I"%OPENCV_DIR%\include" -L"%OPENCV_DIR%\x64\vc10\lib\opencv_core240.lib" "%OPENCV_DIR%\x64\vc10\lib\opencv_highgui240.lib"
Я получил сообщение об ошибке при попытке ссылку, которая говорит:
error LNK2019: unresolved external symbol cvLoadImage referenced in function main a.exe : fatal error LNK1120: 1 unresolved externals
Что я отсутствующий или делаю неправильно при компиляции с NVCC?
У вас есть идеи? Я действительно не знаю и не могу понять, почему это происходит. – BRabbit27
Любая идея? Все еще ищут, чтобы это работало! – BRabbit27
Очевидно, 'cvLoadImage' действительно находится в' opencv_highgui240.lib' (по крайней мере, он находится в 'libopencv_highgui.so' на Linux). Кроме того, '-L' используется для указания путей поиска библиотек (например,' "% OPENCV_DIR% \ x64 \ vc10 \ lib" 'в вашем случае), тогда как вам нужно использовать' -l' для указания библиотек, которые будут использоваться в (без расширения файла библиотеки, например 'opencv_highgui240'). Если вам не нужна компиляция CLI, вы также можете следовать инструкциям [здесь] (http://stackoverflow.com/questions/10831088/using-opencv-2-4-0-in-a-visual-studio-2010 -проект/10838338 # 10838338). – BenC