0

我正在使用 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 文件中的函数。

所以,我不确定是否需要对编译设置进行一些更改,或者是否有其他问题。

任何帮助表示赞赏。

4

1 回答 1

1

通过删除“extern”解决了这个问题。

于 2013-06-11T20:26:35.117 回答