所以我的问题是:我在mac os x山狮上使用Nvidia的nsight应用程序来编写一个CUDA应用程序:源代码是.h/.cu/.cpp混合。
我有一个带有以下声明的 HelloCUDA.h 标头:
//yep, both taken from examples.
__device__ unsigned int bitreverse2(unsigned int number);
__global__ void bitreverse(void *data);
我有一个定义这些方法的 HelloCUDA.cu 文件:
__device__ unsigned int bitreverse3(unsigned int number) {
//definition
return number;
}
__global__ void bitreverse4(void *data) {
//another definition...
bitreverse3(idata[threadIdx.x]);
}
它一直有效,直到我使用 eclipse 的(nsight)新类向导添加了一个新的 C++ 类文件(.h/.cpp)。现在,当我尝试构建那个东西时:
../src/HelloCUDA.h:21: error: expected constructor, destructor, or type conversion before ‘unsigned’
../src/HelloCUDA.h:23: error: expected constructor, destructor, or type conversion before ‘void’
我检查了项目设置,我认为没有任何变化。
那么,什么给了?任何人都可以,请,帮我解决这个问题?