Perché nvcc non riesce a compilare un file CUDA con boost :: spirit?

Sto cercando di integrare CUDA in un’applicazione esistente che usa boost :: spirit.

Isolare il problema, ho scoperto che il seguente codice non copia con nvcc:

main.cu :

 #include  int main(){ exit(0); } 

Compilando con nvcc -o cudaTest main.cu Ottengo un sacco di errori che possono essere visti qui .

Ma se cambio il nome del file in main.cpp , e compilo di nuovo usando nvcc , funziona. Cosa sta succedendo qui e come posso risolverlo?