链接错误OpenCV 2.4 + CUDA Windows 7(x64)命令行 [英] Linking error OpenCV 2.4+CUDA windows 7(x64) command line

查看:308
本文介绍了链接错误OpenCV 2.4 + CUDA Windows 7(x64)命令行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图编译一个使用CUDA和OpenCV的程序。
我确信OpenCV的路径是正确的,因为用这个编译一个简单的OpenCV程序:

I am trying to compile a program that uses both CUDA and OpenCV. I am sure that the paths to OpenCV are right because compiling a simple OpenCV program with this:

cl / I%OPENCV_DIR %\include/LINK\"%OPENCV_DIR%\x64\vc10\lib\opencv_core240.lib%OPENCV_DIR%\x64\vc10\lib\opencv_highgui240.libtestCV.cpp code>

它成功编译程序。现在,当我试图编译NVCC像这样:

it successfully compiles the program. Now when I try to compile with NVCC like this:

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:未解析的外部符号cvLoadImage在函数main中引用
a.exe:致命错误LNK1120:1未解决的外部

推荐答案

-L 用于指定库目录不是文件

您可能希望执行: p>

You probably want to execute:

nvcc testCuda.cu --cl-version 2010 --use-local-env -I"%OPENCV_DIR%\include" -L"%OPENCV_DIR%\x64\vc10\lib" -lopencv_core240 -lopencv_highgui240

doens't work,drop the -l <​​/ code>并添加其扩展名:

If that doens't work, drop the -l and add their extensions:

nvcc testCuda.cu --cl-version 2010 --use-local-env -I"%OPENCV_DIR%\include" -L"%OPENCV_DIR%\x64\vc10\lib" opencv_core240.lib opencv_highgui240.lib

一次一次,当我们有CUDA 2.x和OpenCV 2.1时,我写了一个 Makefile 来编译使用这两个框架的应用程序:

Once upon a time, when we had CUDA 2.x and OpenCV 2.1, I wrote a Makefile to compile an application that used both frameworks:

CXX=g++

CUDA_INSTALL_PATH=/usr/local/cuda
CFLAGS= -I. -I$(CUDA_INSTALL_PATH)/include -I/usr/include/opencv 
LDFLAGS= -L$(CUDA_INSTALL_PATH)/lib -lcudart -L/usr/lib -lcxcore -lcv -lhighgui -lcvaux -lml 

ifdef EMU
CUDAFLAGS+=-deviceemu
endif

all:
    $(CXX) $(CFLAGS) -c main.cpp -o main.o -m32 -arch i386
    nvcc $(CUDAFLAGS) -c kernel_gpu.cu -o kernel_gpu.o
    $(CXX) $(LDFLAGS) main.o kernel_gpu.o -o grayscale -arch i386

clean:
    rm -f *.o grayscale

这篇关于链接错误OpenCV 2.4 + CUDA Windows 7(x64)命令行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆