Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Question
Thursday, March 2, 2017 7:29 PM
Hello,
I have installed VS2015 Community with SDK 10.0.14393.0 . I did not install previous versions of SDK 10 only this one 10.0.14393.0 .
When linking simple C++ console project with selected target platform version 10.0.14393.0 I receive LNK1104: Cannot open 'uuid.lib'. When I select target platform version 8.1 then build is successful.
I searched %ProgramFiles%\Windows Kits\10 for uuid.lib and it is not present there but there are vss_uuid.lib, vds_uuid.lib, wsbapp_uuid.lib and mbnapi_uuid.lib .
Is something wrong with my setup ?
All replies (5)
Friday, March 3, 2017 9:30 AM
Hi Peter,
Thank you for posting in MSDN forum.
>>Is something wrong with my setup ?
According to your description, I have the same doubt as yours, because I check my Win10 SDK folder, uuid related dlls are existed well, please see:
If you couldn't find them all, please manually download the Win 10 SDK 14393 from:
https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk
If the error still persists, please use http://aka.ms/vscollect to gather the Win 10 SDK installation logs. After using it, you will find vslogs.zip under %temp% folder.upload the file to https://onedrive.live.com/ and share the link here.
Best Regards,
MSDN Community Support
Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact [email protected].
Sunday, March 5, 2017 9:49 AM
When I tried to remove SDK 10.0.14393.0 from inside of VS2015 setup dialog and installed standalone SDK 10 then problem is solved. But another one comes:
I am not able to build application when set Target Platform Version to 8.1 because it is not able to find stdio.h and I see that all other CRT headers are missing.
But before these attempts I was able to build with 8.1 SDK. So I tried to uninstall SDK 10 to be sure that I have the only originally installed SDK 8.1 (installed with VS2015 by default) but it does not solve problem and CRT headers are still missing.
I found similar problems on: https://social.msdn.microsoft.com/Forums/vstudio/en-US/0f580a73-6f11-4aa6-abbe-6bf1438734c2/standard-files-stddefh-stringh-missing-in-visual-studio-2015-rc?forum=vclanguage
where is written that missing CRT headers are part of Universal CRT SDK which is part of SDK 10. (If I good understand it)
Probably Universal CRT was installed by Visual Studio installer but my attempts with installing/uninstalling standalone SDK10 removed them.
Let's assume that I need to build only for Target Platform Version 8.1 and I don't want to use SDK 10. Must I install all *.msi under packages\Win10_UniversalCRTSDK\.msi ? Should be this right way how to correct it ?
Tuesday, March 7, 2017 10:24 AM
Hi Peter,
Thank you for your update and sorry for my late reply.
>>I am not able to build application when set Target Platform Version to 8.1 because it is not able to find stdio.h and I see that all other CRT headers are missing.
Please manually download the Win 8.1 SDK to do a repair:
https://developer.microsoft.com/en-us/windows/downloads/windows-8-1-sdk
>>Let's assume that I need to build only for Target Platform Version 8.1 and I don't want to use SDK 10. Must I install all *.msi under packages\Win10_UniversalCRTSDK\.msi ?
Visual Studio 2015 ships with Windows SDK 8.1. If you installed the Tools for Windows 10, each version of those tools that you have installed appears in the dropdown. Which means if you don't install the Win 10 SDK, it won't affect the C++ console application running which sets Target Platform Version 8.1
Best Regards,
MSDN Community Support
Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact [email protected].
Thursday, June 29, 2017 1:21 PM
uuid.lib in Windows Kits\10\Lib\10.0.14393.0 is still missing.
Update July 2017: uuid.lib available in Windows Kits 10 Lib 10.0.15063.0 um x64/x86
With the new Windows 10 SDK Version 15063 the problems are solved.
Details for SDK 10.0.14393 and solution to use Windows 8 SDK 8.1:
Do install Windows Kits 8.1 is only a solution if you desinstall SDK 10.0.14393.0 at the same time, because 10.0.14393.0 is the prefered SDK. (other than SDK 10.0.10150.0 or 10.0.10240.0, which will not prefered. The rules in the scripts say: use 10.0.14393.0, than 8.1, than 10.0.10240.0, ...)
The resaon are some Scripts from Microsoft called windsk.bat (2017) and vcvarsqueryregistry.bat (VS2015) to search for an SDK folder with an include\version}\um\Windows.h file.
If you delete Windows.h in the 10.0.14393.0\um folder the vcvarsall.bat / vcvars64.bat script files will use the SDK 8.1 again.
Older SDK 10 version did not have a um\Windows.h file and so the Windows SDK 8.1 with a lib\.\um\uuid.lib file were used, instead of SDK 10.0.10240.0.
Because of the windows.h file the SDK 10.0.14393.0 will be used, but 10.0.14393.0 do not contain a uuid.lib file (one of the largest libs).
The cl.exe from VS2015 (14.0) and VS2017 (14.10) need the uuid.lib
This leads to the problems with uuid.lib not found
A fix from Microsoft could be: use uuid..lib instead of windows.h file to choose the right windows basic SDK. Or deliver the uuid.lib in the SDK 10.0.14393.0
My personal fix: When calling vcvarsall.bat I use the parameters "vcvarsall.bat x64 8.1"
And when calling vcvars64.bat, I use the 8.1 parameter. "vcvars64.bat 8.1"
The 8.1 is a valid value for this scripts in VS2015 and VS2017 to tell windsk.bat/vcvarsqueryregistry.bat to prefer the "8.1" SDK, instead of the automatically found SDK version.
Friday, March 15, 2019 1:20 PM
https://1drv.ms/u/s!Al_a7aN6C5wkcz-NXZLXTuu_XYw
C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC
\14.16.27023\bin\HostX86\x86\link.exe /nologo /INCREMENTAL:NO /LTCG /DLL /MANIFE
ST:EMBED,ID=2 /MANIFESTUAC:NO /LIBPATH:c:\users\ekranga\appdata\local\programs\p
ython\python37\libs /LIBPATH:c:\users\ekranga\appdata\local\programs\python\pyth
on37\PCbuild\amd64 "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio\2017
\BuildTools\VC\Tools\MSVC\14.16.27023\ATLMFC\lib\x86" "/LIBPATH:C:\Program Files
(x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\lib\x86
" /EXPORT:PyInit_setproctitle build\temp.win-amd64-3.7\Release\src/setproctitle.
obj build\temp.win-amd64-3.7\Release\src/spt_debug.obj build\temp.win-amd64-3.7\
Release\src/spt_setup.obj build\temp.win-amd64-3.7\Release\src/spt_status.obj bu
ild\temp.win-amd64-3.7\Release\src/spt_strlcpy.obj /OUT:build\lib.win-amd64-3.7\
setproctitle.cp37-win_amd64.pyd /IMPLIB:build\temp.win-amd64-3.7\Release\src\set
proctitle.cp37-win_amd64.lib
LINK : fatal error LNK1104: cannot open file 'uuid.lib'
error: command 'C:\Program Files (x86)\Microsoft Visual Studio\2017\Buil
dTools\VC\Tools\MSVC\14.16.27023\bin\HostX86\x86\link.exe' failed with e
xit status 1104
I am facing this error while trying to install apache-airflow using PIP3 command in VS 2017 command prompt
C:\Users\ekranga\AppData\Local\Programs\Python\Python37>pip3 install apache-airf
low