当我在同一个文件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;
}
Run Code Online (Sandbox Code Playgroud)
mainFunc.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;
}
Run Code Online (Sandbox Code Playgroud)