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.