Visual Studio 2010,项目链接与cuda文件

时间:2014-08-11 19:42:06

标签: c++ visual-studio cuda

我希望我有一个简单的问题,但在这一天我无法解决,所以我请求你的帮助。

所以,我正在使用CUDA工具包在Visual Studio 2010中构建CUDA项目。

我的项目包含多个文件,其中最重要的三个是:

//tvector_traits_kernel.cu

//contains two fuctions, the first is cuda kernel, and the second is it`s wrapper, to call it in .cpp files

template < typename _T >
__ global __ void DaxpyKernel(lint64 _m, lint64 _na, lint64 _nb, _T *_amatr, _T *_bmatr, _T *_cmatr)
{
...
}

template < typename _T >
void DaxpyKernelWrapper(lint64 _m, lint64 _na, lint64 _nb, _T *_amatr, _T *_bmatr, _T *_cmat)
{
...
}

//tvector_traits_kernel.h

//contains wrapper fuction`s prototipe

template < typename _T >
void DaxpyKernelWrapper(lint64 _m, lint64 _na, lint64 _nb, _T *_amatr, _T *_bmatr, _T *_cmat);

//main.cpp

//it just calls  DaxpyKernelWrapper fuction and includes tvector_traits_kernel.h

but while linking I have an error:
Error   3   error LNK2019: external symbol unresolved  "void __cdecl DaxpyKernelWrapper<float>(__int64,__int64,__int64,float *,float *,float *)" (??$DaxpyKernelWrapper@M@@YAX_J00PAM11@Z) in functions "public: static void __cdecl CTVect_traits<float>::CudaBlockDaxpy(__int64,__int64,__int64,float *,float *,float *)" (?CudaBlockDaxpy@?$CTVect_traits@M@@SAX_J00PAM11@Z) C:\Users\ckhgjh\Documents\GPU\Tesis\Test\test.obj   Test

我想知道为什么,因为&#34; tvector_traits_kernel.cu&#34;在项目s source files, it中,目标文件已成功创建。

我是Visual Studio中的新手,之前我使用过gcc,所以我自己管理了链接过程。 所以我的问题可能非常愚蠢:(

感谢您的关注!

0 个答案:

没有答案