Code: Select all
Microsoft (R) C/C++ Optimizing Compiler Version 19.29.30037 for x86
Copyright (C) Microsoft Corporation. All rights reserved.
TEST.CPP
Microsoft (R) Incremental Linker Version 14.29.30037.0
Copyright (C) Microsoft Corporation. All rights reserved.
/out:TEST.exe
TEST.obj
comctl32.lib
kernel32.lib
user32.lib
gdi32.lib
winspool.lib
comdlg32.lib
advapi32.lib
shell32.lib
ole32.lib
shlwapi.lib
wtsapi32.lib
libcpmt.lib(syserror.obj) : error LNK2019: unresolved external symbol __imp__FormatMessageA@28 referenced in function "unsigned long __cdecl std::_Winerror_message(unsigned long,char *,unsigned long)" (?_Winerror_message@std@@YAKKPADK@Z)
libcpmt.lib(syserror_import_lib.obj) : error LNK2001: unresolved external symbol __imp__FormatMessageA@28
libcpmt.lib(xwctomb.obj) : error LNK2019: unresolved external symbol __imp__WideCharToMultiByte@32 referenced in function __Wcrtomb
libcpmt.lib(StlLCMapStringA.obj) : error LNK2001: unresolved external symbol __imp__WideCharToMultiByte@32
libucrt.lib(widechartomultibyte.obj) : error LNK2001: unresolved external symbol __imp__WideCharToMultiByte@32
libucrt.lib(osfinfo.obj) : error LNK2001: unresolved external symbol __imp__EnterCriticalSection@4
libcpmt.lib(xmtx.obj) : error LNK2001: unresolved external symbol __imp__EnterCriticalSection@4
libvcruntime.lib(locks.obj) : error LNK2001: unresolved external symbol __imp__EnterCriticalSection@4
libucrt.lib(locks.obj) : error LNK2001: unresolved external symbol __imp__EnterCriticalSection@4
libucrt.lib(_file.obj) : error LNK2001: unresolved external symbol __imp__EnterCriticalSection@4
libucrt.lib(osfinfo.obj) : error LNK2001: unresolved external symbol __imp__LeaveCriticalSection@4
..
Code: Select all
cl.exe test.cpp
Code: Select all
cl.exe -c test.cpp
link.exe test.obj
Code: Select all
link.exe test.obj
Code: Select all
link.exe test.obj /VERBOSE:LIB
Code: Select all
Microsoft (R) Incremental Linker Version 14.29.30037.0
Copyright (C) Microsoft Corporation. All rights reserved.
Searching libraries
Searching C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\lib\x86\libcpmt.lib:
Searching C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\lib\x86\LIBCMT.lib:
Searching C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\lib\x86\OLDNAMES.lib:
Searching kernel32.lib:
Searching C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\lib\x86\libvcruntime.lib:
Searching C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\ucrt\x86\libucrt.lib:
Searching C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x86\uuid.lib:
Searching C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\lib\x86\libcpmt.lib:
Searching C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\lib\x86\LIBCMT.lib:
Searching C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\lib\x86\OLDNAMES.lib:
Searching kernel32.lib:
Searching C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\lib\x86\libvcruntime.lib:
Searching C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\ucrt\x86\libucrt.lib:
Searching C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x86\uuid.lib:
Searching C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\lib\x86\libcpmt.lib:
Searching C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\lib\x86\LIBCMT.lib:
Searching C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\lib\x86\OLDNAMES.lib:
Searching kernel32.lib:
...
Surely enough somehow a kernel32.lib had found it's way into that c:\temp\ folder and the linker was using that file in the link process.
I use that temp folder to test code I find on the web and I suspect that lib file had been added to the folder as one such download.
Deleting that errant file fixed the issue

Cheers Jussi