我想編譯一個使用CUDA和OpenCV的程序。 我相信到OpenCV的路徑是正確的,因爲編譯一個簡單的OpenCV程序與此:鏈接錯誤OpenCV 2.4 + CUDA Windows 7(x64)命令行
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 2013-03-17 08:44:04
有什麼想法?仍然在尋找這個工作! – BRabbit27 2013-04-22 13:41:23
顯然,'cvLoadImage'確實位於'opencv_highgui240.lib'中(至少它在Linux的'libopencv_highgui.so'中)。此外,'-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 -project/10838338#10838338)。 – BenC 2013-05-12 15:15:35