[PATCH] D12695: [Driver] Use UniversalCRT on Windows if available

Igor Kudrin via cfe-commits cfe-commits at lists.llvm.org
Fri Sep 11 07:03:35 PDT 2015


Hi İsmail,

Clang tries to detect pathes automatically only if corresponding 
environment variables are not set. In your case, you have these 
variables set, so clang honors them.

You have only set pathes for VC libraries and Universal CRT, but the 
kernel32.lib library is shipped with Windows SDKs and probably located 
at the path like "C:\Program Files (x86)\Windows 
Kits\8.1\Lib\winv6.3\um\x64".

On 11.09.2015 19:44, İsmail Dönmez wrote:
> Hi,
>
> C:\Users\ismail\Desktop>set include
> INCLUDE=C:\Program Files (x86)\Microsoft Visual Studio
> 14.0\VC\INCLUDE;C:\Program Files (x86)\Microsoft Visual Studio
> 14.0\VC\ATLMFC\INCLUDE;C:\Program Files (x86)\Windows
> Kits\10\include\10.0.10240.0\ucrt;C:\Program Files (x86)\Windows
> Kits\NETFXSDK\4.6\include\um;C:\Program Files (x86)\Windows
> Kits\10\include\10.0.10240.0\shared;C:\Program Files (x86)\Windows
> Kits\10\include\10.0.10240.0\um;C:\Program Files (x86)\Windows
> Kits\10\include\10.0.10240.0\winrt;
>
> C:\Users\ismail\Desktop>set lib
> LIB=C:\Program Files (x86)\Microsoft Visual Studio
> 14.0\VC\LIB\amd64;C:\Program Files (x86)\Microsoft Visual Studio
> 14.0\VC\ATLMFC\LIB\amd64;C:\Program Files (x86)\Windows
> Kits\10\lib\10.0.10240.0\ucrt\x64;C:\Program Files (x86)\Windows
> Kits\NETFXSDK\4.6\lib\um\x64;C:\Program Files (x86)\Windows
> Kits\10\lib\10.0.10240.0\um\x64;
> LIBPATH=C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319;C:\Program
> Files (x86)\Microsoft Visual Studio 14.0\VC\LIB\amd64;C:\Program Files
> (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\LIB\amd64;C:\Program
> Files (x86)\Windows Kits\10\UnionMetadata;C:\Program Files
> (x86)\Windows Kits\10\References;C:\Program Files (x86)\Windows
> Kits\10\References\Windows.Foundation.UniversalApiContract\1.0.0.0;C:\Program
> Files (x86)\Windows
> Kits\10\References\Windows.Foundation.FoundationContract\1.0.0.0;C:\Program
> Files (x86)\Windows
> Kits\10\References\indows.Networking.Connectivity.WwanContract\1.0.0.0;C:\Program
> Files (x86)\Microsoft SDKs\Windows
> Kits\10\ExtensionSDKs\Microsoft.VCLibs\14.0\References\CommonConfiguration\neutral;
>
> C:\Users\ismail\Desktop>clang-cl.exe -###
> -fms-compatibility-version=19 mandelbrot-mp.cpp
> clang version 3.8.0 (http://llvm.org/git/clang
> d2dc884a74b40711955713829e7a09b8ff5ca1bc) (http://llvm.org/git/llvm
> 595af7ed8595ccf005efb087b5bb7d9a19e50e3b)
> Target: x86_64-pc-windows-msvc
> Thread model: posix
> InstalledDir: C:\Program Files\LLVM\bin
>   "C:\\Program Files\\LLVM\\bin\\clang-cl.exe" "-cc1" "-triple"
> "x86_64-pc-windows-msvc19.0.0" "-emit-obj" "-mrelax-all"
> "-disable-free" "-main-file-name" "mandelbrot-mp.cpp"
> "-mrelocation-model" "pic" "-pic-level" "2" "-mthread-model" "posix"
> "-relaxed-aliasing" "-fmath-errno" "-masm-verbose"
> "-mconstructor-aliases" "-munwind-tables" "-target-cpu" "x86-64"
> "-D_MT" "--dependent-lib=libcmt" "--dependent-lib=oldnames"
> "-fms-volatile" "-fdiagnostics-format" "msvc"
> "-momit-leaf-frame-pointer" "-dwarf-column-info" "-resource-dir"
> "C:\\Program Files\\LLVM\\bin\\..\\lib\\clang\\3.8.0"
> "-internal-isystem" "C:\\Program
> Files\\LLVM\\bin\\..\\lib\\clang\\3.8.0\\include" "-internal-isystem"
> "C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE"
> "-internal-isystem" "C:\\Program Files (x86)\\Microsoft Visual Studio
> 14.0\\VC\\ATLMFC\\INCLUDE" "-internal-isystem" "C:\\Program Files
> (x86)\\Windows Kits\\10\\include\\10.0.10240.0\\ucrt"
> "-internal-isystem" "C:\\Program Files (x86)\\Windows
> Kits\\NETFXSDK\\4.6\\include\\um" "-internal-isystem" "C:\\Program
> Files (x86)\\Windows Kits\\10\\include\\10.0.10240.0\\shared"
> "-internal-isystem" "C:\\Program Files (x86)\\Windows
> Kits\\10\\include\\10.0.10240.0\\um" "-internal-isystem" "C:\\Program
> Files (x86)\\Windows Kits\\10\\include\\10.0.10240.0\\winrt" "-Wall"
> "-fdeprecated-macro" "-fdebug-compilation-dir"
> "C:\\Users\\ismail\\Desktop" "-ferror-limit" "19" "-fmessage-length"
> "100" "-mstackrealign" "-fms-extensions" "-fms-compatibility"
> "-fms-compatibility-version=19" "-std=c++14"
> "-fdelayed-template-parsing" "-fobjc-runtime=gcc"
> "-fdiagnostics-show-option" "-fcolor-diagnostics" "-o"
> "C:\\Users\\ismail\\AppData\\Local\\Temp\\mandelbrot-mp-d6f68c.obj"
> "-x" "c++" "mandelbrot-mp.cpp"
>   "C:\\Program Files (x86)\\Microsoft Visual Studio
> 14.0\\VC\\bin\\amd64\\link.exe" "-out:mandelbrot-mp.exe" "-nologo"
> "C:\\Users\\ismail\\AppData\\Local\\Temp\\mandelbrot-mp-d6f68c.obj"
>
>
> On Fri, Sep 11, 2015 at 4:42 PM, Igor Kudrin <ikudrin.dev at gmail.com> wrote:
>> Please, can you show the output of the following commands:
>>
>> 1) set include
>> 2) set lib
>> 3) clang-cl.exe -### -fms-compatibility-version=19 foo.cpp
>>
>>
>> On 11.09.2015 17:44, İsmail Dönmez wrote:
>>> This doesn't seem to work here, VS 2015 on Win 10 x64:
>>>
>>> C:\Users\ismail\Desktop>clang-cl.exe -fms-compatibility-version=19 foo.cpp
>>> LINK : fatal error LNK1104: cannot open file 'kernel32.lib'
>>> clang-cl.exe: error: linker command failed with exit code 1104 (use -v
>>> to see invocation)
>>>
>>> Works fine after setting LIB.
>>>
>>> On Fri, Sep 11, 2015 at 3:11 AM, Reid Kleckner via cfe-commits
>>> <cfe-commits at lists.llvm.org> wrote:
>>>> This revision was automatically updated to reflect the committed changes.
>>>> Closed by commit rL247362: [Driver] Use UniversalCRT on Windows if
>>>> available (authored by rnk).
>>>>
>>>> Changed prior to commit:
>>>>     http://reviews.llvm.org/D12695?vs=34475&id=34515#toc
>>>>
>>>> Repository:
>>>>     rL LLVM
>>>>
>>>> http://reviews.llvm.org/D12695
>>>>
>>>> Files:
>>>>     cfe/trunk/lib/Driver/MSVCToolChain.cpp
>>>>     cfe/trunk/lib/Driver/ToolChains.h
>>>>     cfe/trunk/lib/Driver/Tools.cpp
>>>>
>>>>
>>>> _______________________________________________
>>>> cfe-commits mailing list
>>>> cfe-commits at lists.llvm.org
>>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
>>>>



More information about the cfe-commits mailing list