我正在使用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文件中的函数。
所以,我不确定是否需要在编译设置中进行一些更改,或者是否还有其他问题。
感谢任何帮助。
答案 0 :(得分:1)
通过删除“extern”解决了这个问题。