LNK2005 errors vs #include again!

So I added cuPrintf.cu and cuPrintf.cuh to my project from their places in the simplePrint example project, and they worked once, so I undid that and made copies in my own Rohan-CUBLAS project’s directory, and added those copies in their place. Now I get this…

1>Linking...

1>cuPrintf.cu.obj : error LNK2005: "int __cdecl cuPrintf(char const *)" (?cuPrintf@@YAHPBD@Z) already defined in Rohan-kernel.cu.obj

1>cuPrintf.cu.obj : error LNK2005: "void __cdecl cuPrintfRestrict(int,int)" (?cuPrintfRestrict@@YAXHH@Z) already defined in Rohan-kernel.cu.obj

1>cuPrintf.cu.obj : error LNK2005: _cudaPrintfEnd already defined in Rohan-kernel.cu.obj

1>cuPrintf.cu.obj : error LNK2005: _cudaPrintfInit already defined in Rohan-kernel.cu.obj

1>cuPrintf.cu.obj : error LNK2005: _cudaPrintfDisplay already defined in Rohan-kernel.cu.obj

1>LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library

1>../../bin/win32/Debug/Rohan-CUBLAS.exe : fatal error LNK1169: one or more multiply defined symbols found

1>Build log was saved at "file://d:\ProgramData\NVIDIA Corporation\NVIDIA GPU Computing SDK 3.2\C\src\Rohan-CUBLAS\Debug\BuildLog.htm"

1>Rohan-CUBLAS - 6 error(s), 8 warning(s)

========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

I can eliminate the first two by inlining the functions, but I’m not sure how to proceed on the rest.

If I copy the contents of cuPrintf.cu into my Rohan-kernel.cu instead of including it, the same items are reported as unrecognized instead of already defined.

From googling and reading similar issues here and on StackOverflow, I can infer that there are some adjustments to the compiling and linking parameters, but I’m not terribly experienced at that.

Hardware and software and OS as below.

It does not explain what happens, but there is a useful work around in an adjacent forum here:

http://forums.nvidia.com/index.php?showtopic=182536