C compile error: unknown pragma

So far looks like everything has compiled for the device but once VC is invoked I get the following errors:

#$ cl -nologo -D_CRT_SECURE_NO_DEPRECATE=1 -c -TC -DCUDA_FLOAT_MATH_FUNCTIONS “-IC:\CUDA\bin/…/include” “-IC:\CUDA\bin/…/include/cudart” -I. -Fo"sample.obj" “sample.cu.c”
sample.cu(17) : warning C4068: unknown pragma
sample.cu(18) : error C2341: ‘.CRT$XCU’ : segment must be defined using #pragmadata_seg or code_seg prior to use
C:\CUDA\bin/…/include/device_functions.h(192) : error C2632: ‘long’ followed by ‘long’ is illegal
C:\CUDA\bin/…/include/device_functions.h(192) : error C2632: ‘long’ followed by ‘long’ is illegal
C:\CUDA\bin/…/include/device_functions.h(192) : error C2632: ‘long’ followed by ‘long’ is illegal
C:\CUDA\bin/…/include/device_functions.h(199) : error C2632: ‘long’ followed by ‘long’ is illegal
C:\CUDA\bin/…/include/device_functions.h(199) : error C2632: ‘long’ followed by ‘long’ is illegal
C:\CUDA\bin/…/include/device_functions.h(199) : error C2632: ‘long’ followed by ‘long’ is illegal
C:\CUDA\bin/…/include/math_functions.h(870) : error C2632: ‘long’ followed by ‘long’ is illegal
C:\CUDA\bin/…/include/math_functions.h(875) : error C2059: syntax error : ‘badsuffix on number’
C:\CUDA\bin/…/include/math_functions.h(875) : error C2146: syntax error : missing ‘;’ before identifier ‘l’

I am not sure if I saw compiler compatibilities but I am using VC6.0 if this might have something to do with it.

Seems it must be a compiler compatibility issue as I tried with VC7 and no errors.