源于网上的一个材料。
头文件kernel.h
extern __global__ void kernel();
实现文件kernel.cu
#include <stdio.h>
#include "kernel.h"
__global__ void kernel()
{
printf("hello world!");
}
测试test.cu:
#include "kernel.h"
int main(void)
{
kernel<<<1,1>>>();
cudaDeviceSynchronize();
return 0;
}
问题来了, 如果将test.cu改为test.cpp, 就会出现问题
make all
Building file: ../src/test2.cpp
Invoking: NVCC Compiler
/usr/local/cuda-5.5/bin/nvcc -G -g -O0 -gencode arch=compute_35,code=sm_35 -odir "src" -M -o "src/test2.d" "../src/test2.cpp"
/usr/local/cuda-5.5/bin/nvcc -G -g -O0 --compile -x c++ -o "src/test2.o" "../src/test2.cpp"
In file included from ../src/test2