【发布时间】:2013-05-23 01:34:15
【问题描述】:
我正在使用 Visual Studio 2010 环境,并试图在 CUDA 的帮助下加速我之前编写的一些 OpenCV 算法。我有一个单独的 .cu 文件,可以在 Visual Studio 中单独编译,我的 .cpp 文件也可以单独编译。
但是当我尝试构建包含这两个文件的解决方案时,我收到如下错误:
错误 LNK2019:无法解析的外部符号“void __cdecl ComputeBasisKernelWrapper(float *,float *,float *,float *,float *,float *,float *,float *,float *,int,int)"
ComputeBasisKernelWrapper 是一个在 .cu 文件中使用 extern "C" 定义的函数,负责进行必要的 CUDA 分配和执行并行计算。
我有一个类似的框架,在我使用非面向对象的 .c 文件时可以正常工作,该文件调用 .cu 文件中的函数。
所以,我不确定是否需要对编译设置进行一些更改,或者是否有其他问题。
感谢任何帮助。
【问题讨论】:
-
我想我已经通过删除“extern”解决了这个问题。它现在可以正常编译和构建了。
-
也许您可以发布您为修复它所做的事情作为答案。然后我们可以称这个问题为已回答。谢谢。
标签: c++ visual-studio-2010 opencv cuda