Internal Compiler Error (C++?)

I have the following cuda file (just for testing purposes):

#include <vector>

Compiling this on MSVC2005 with nvcc gives me the following error:

Now one of the topics on these forums says that to use C++ files it needs to be in a separate .cpp file use linking with extern “C” to get to them. But isn’t this somehow weird? My cuda files can happily use templates, classes and all kinds of fancy C++ constructs yet the compiler aborts; crashes!! even on a standard template library?

Will this be fixed? Or is this an error-by-design?

Are you running MSVC2005 SP1? I’ve seen similar problems without SP1 installed.

Sure you’re not including a header containing the vector include into your cuda code?

Vectors work fine for me, C++ with CUDA, running VS2005 Sp1.

I am not using SP1, will have a look at it to see if it fixes the bug. I didn’t think it would matter though as it is nvcc that crashes, not MSVC.

@NitrousUK: The vector code is not used inside the kernel, just in the .cu file main() for example

Yes, this should be fixed by installing SP1. If you look at the readme, I think you’ll see that we don’t actually support non-SP1 VS2005.