<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>Hello Bill,</div><div><br></div><div dir="ltr">Using MSVC x86 header files to compile for wasm32 isn't currently a supported configuration. System header files are typically tied to a corresponding runtime library, so in addition to clang not supporting this yet, there's no wasm32 version of the MSVC runtime libraries that you could link with even if it did compile.<br><div><br></div><div>The WASI project provides a set of header files that use can be used with clang's wasm32 support, which may be useful here:<br></div><div><br></div><div><a href="https://github.com/CraneStation/wasi-sysroot">https://github.com/CraneStation/wasi-sysroot</a></div><div><br></div><div>An "SDK" which builds a clang and wasi-sysroot configured to be used together is here:<br></div><div><br></div><div><a href="https://github.com/CraneStation/wasi-sdk">https://github.com/CraneStation/wasi-sdk</a></div><div><br></div><div>Dan</div><div><br></div></div></div></div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Apr 2, 2019 at 12:21 PM Bill Ticehurst via cfe-dev <<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">





<div lang="EN-US">
<div class="gmail-m_-2944286378191147684gmail-m_2250527716785258844WordSection1">
<p class="MsoNormal">Hi all,</p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Just joined this dl, so apologies if this is not the right place for such a question. Please redirect me if appropriate.</p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">I’ve been trying to use the new --target=wasm option on Windows, with the minimal codebase from the repo at
<a href="https://github.com/PetterS/clang-wasm" target="_blank">https://github.com/PetterS/clang-wasm</a> (which targets Linux). Whether I use clang++ or clang-cl (with what I believe to be the right options) I get an error re the MSVC headers trying to redefine size_t, e.g.
 as shown below:<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">C:\temp\clang-wasm>"C:\Program Files\LLVM\bin\clang++.exe" -c --target=wasm32 -Os -flto -nostdlib -fvisibility=hidden -std=c++14   -ffunction-sections -fdata-sections -fms-extensions -fms-compatibility -fms-compatibility-version=19.16.27026  
 -I "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include"   -I "C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\ucrt"   -D _M_IX86 -o library.o library.cpp<u></u><u></u></p>
<p class="MsoNormal">In file included from library.cpp:1:<u></u><u></u></p>
<p class="MsoNormal">In file included from C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\ucrt\memory.h:12:<u></u><u></u></p>
<p class="MsoNormal">In file included from C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\ucrt\corecrt_memory.h:13:<u></u><u></u></p>
<p class="MsoNormal">In file included from C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\ucrt\corecrt.h:10:<u></u><u></u></p>
<p class="MsoNormal">C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\vcruntime.h:184:30: error: typedef redefinition with different types ('unsigned int' vs 'unsigned long')<u></u><u></u></p>
<p class="MsoNormal">    typedef unsigned int     size_t;<u></u><u></u></p>
<p class="MsoNormal">                             ^<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Any ideas on this? Being a new feature I can’t find too many docs or examples, so I may be messing up something simple.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Using clang-cl I get similar errors. (And need to set the include directories and architecture (-D _<i>M</i>_IX86) explicitly to avoid other errors – which I though clang-cl should set automatically when running from the Developer Command
 Prompt). Without --target=wasm with similar (but valid .exe) code, I don’t see any errors.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">You can see my build commands/flags with comments in my fork at
<a href="https://github.com/billti/clang-wasm/blob/master/build.bat" target="_blank">https://github.com/billti/clang-wasm/blob/master/build.bat</a> (using a bat file to keep it simple at this point).<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Thanks,<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<ul style="margin-top:0in" type="disc">
<li class="gmail-m_-2944286378191147684gmail-m_2250527716785258844MsoListParagraph">
Bill</li></ul>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Sent from <a href="https://go.microsoft.com/fwlink/?LinkId=550986" target="_blank">
Mail</a> for Windows 10</p>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div>

_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br>
</blockquote></div>