当我在同一个文件 mainFunc.cu 中使用 kernelAdd() 函数和 main() 函数构建代码时,没关系。
但是,当我将 kernelAdd.cu 文件中的 kernelAdd() 函数和 main.cpp 文件中的主文件分开时,它会产生 2 个错误:
“错误 C2065:‘添加’:未声明的标识符”
和“错误 C2059:语法错误:'<'”
我在 Visual Studio 2008 和 Cuda v5.0 中构建了它们。
我该如何纠正它的错误?
谢谢!
kernelAdd.cu
__global__ void add(int a, int b, int *c) {
*c = a + b;
}
主函数.cpp
#include "cuda_runtime.h"
#include "device_launch_parameters.h"
#include <stdio.h>
#include <conio.h>
int main(void) {
int c;
int *devC;
cudaMalloc((void**) &devC, sizeof(int));
add<<<1,1>>>(2,7,devC);
cudaMemcpy(&c, devC, sizeof(int), cudaMemcpyDeviceToHost);
printf("2+7=%d\n", c);
cudaFree(devC);
getch();
return 0;
}