VS2013 編譯 OpenCV_CUDA 工程編譯出錯

編譯出現下面錯誤

Error7   error LNK2019: unresolved external symbol"void __cdecl swap_rb_caller(struct cv::cuda::PtrStepSz<structuchar3> const &,struct cv::cuda::PtrStep<struct uchar3>,

struct CUstream_st *)"(?swap_rb_caller@@YAXAEBU?$PtrStepSz@Uuchar3@@@cuda@cv@@U?$PtrStep@Uuchar3@@@23@PEAUCUstream_st@@@Z)referenced in function

"void __cdecl swap_rb(classcv::cuda::GpuMat const &,class cv::cuda::GpuMat &,classcv::cuda::Stream &)"(?swap_rb@@YAXAEBVGpuMat@cuda@cv@@AEAV123@AEAVStream@23@@Z)     

C:\Users\asus-pc\Documents\Visual Studio2013\Projects\gpuMat\gpuMat\swap_rb.obj     gpuMat

Error7   error LNK2019: unresolved external symbolswap_rb_caller referenced in function swap_rb        C:\Users\asus-pc\Documents\VisualStudio 2013\Projects\gpuMat\gpuMat\swap_rb.obj     gpuMat

Error4      error LNK2019: unresolved external symbolcudaInverseImg referenced in function main        C:\Users\asus-pc\Documents\VisualStudio 2013\Projects\opencv_cuda_iplimage\opencv_cuda_iplimage\app.obj        opencv_cuda_iplimage


分析:

由於新建工程中沒有配置好CUDA編譯器問題。

需要重新新建工程。如:

1、打開vs2013並創建一個空win32程序,創建一個cuda_samples的解決方案和cuda_test1項目:


2、右鍵源文件–>添加–>新建項,如下圖所示:


3、選擇NIVIDIA CUDA 8.0 CUDAC/C++file,並在名稱那填上cuda_main

4、選擇cuda_test1,點擊右鍵–>項目依賴項–>自定義生成

5、選擇CUDA 8.0

6、點擊cuda_main.cu的屬性

7、在配置屬性–>常規–>項類型–>選擇“CUDA C/C++”


後面的項目配置詳細見上個博客







發佈了119 篇原創文章 · 獲贊 55 · 訪問量 43萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章