cudaError_t: undeclared identifier Where do I find it?

I’d like to try nsight to diagnose a problem I’m having. But when I try to compile under VS2008 I get:

basetemplates.cpp(1) : error C2065: ‘cudaError_t’ : undeclared identifier

I went back to my makefile and tried to figure out where the cudaError_t came from, but I can’t seem to do that.
When I started stripping the makefile in order to re-create the problem under linux I found to my surprise that I don’t need to include cuda_runtime_api nor -lcudart when I compile, I can run my program without both.

Anyone with VS who can tell me what I’m missing to compile, or someone on linux who can tell me what (should?) be necessary to get this working on linux?

including cuda_runtime_api solves the problem, but I’m still confused as to how I can make do without it on linux.