Operators new and delete multiply defined when linking with cudart.lib

When linking my C++ project, which contains a single CUDA .cu file, I am getting linker errors due to multiply-defined symbols. The identical project, built without the .cu file, gets no linker errors.

Here is the part of the linker output (/VERBOSE:LIB) showing the errors:

1>Searching libraries
1>    Searching C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\lib\x64\cudart.lib:
1>    Searching C:\Program Files (x86)\Microsoft Visual Studio017\Community\VC\Tools\MSVC4.11.25503\lib\x64\libcpmtd.lib:
1>    Searching C:\Program Files (x86)\Microsoft Visual Studio017\Community\VC\Tools\MSVC4.11.25503\lib\x64\LIBCMTD.lib:
1>    Searching C:\Program Files (x86)\Microsoft Visual Studio017\Community\VC\Tools\MSVC4.11.25503\lib\x64\OLDNAMES.lib:
1>    Searching C:\Program Files (x86)\Microsoft Visual Studio017\Community\VC\Tools\MSVC4.11.25503\atlmfc\lib\x64\nafxcwd.lib:
1>nafxcwd.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned __int64)" (??2@YAPEAX_K@Z) already defined in LIBCMTD.lib(new_scalar.obj)
1>nafxcwd.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete(void *)" (??3@YAXPEAX@Z) already defined in LIBCMTD.lib(delete_scalar.obj)
1>nafxcwd.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new[](unsigned __int64)" (??_U@YAPEAX_K@Z) already defined in LIBCMTD.lib(new_array.obj)
1>nafxcwd.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete[](void *)" (??_V@YAXPEAX@Z) already defined in LIBCMTD.lib(delete_array.obj)

This is a 64-bit debug build, using VS2017 15.3.1 and CUDA v9.0 RC, built on 64-bit Windows 7 Pro.

How can I resolve this apparent library conflict?

I have figured this out. The libraries are being linked in the wrong order. This is discussed at https://support.microsoft.com/en-us/help/148652/a-lnk2005-error-occurs-when-the-crt-library-and-mfc-libraries-are-link.

My solution, per the instructions in the referenced article, is to add a line

#include <ForceLib.h>

at the start of my .cu file. That include file has statements to force the correct order of libraries during link. You must create ForceLib.h yourself, by copying some lines from afx.h.