<div dir="ltr">Hi Carl,<div><br></div><div>Many thanks.</div><div><br></div><div>I think, actually, that I need to do a MinGW build. </div><div style><br></div><div style>As I found summed up in a Stack Overflow post:</div>
<div style><br></div><div>* Cygwin builds are for Cygwin.</div><div>* MinGW builds are for Windows.<br></div><div><br></div><div style>The build we&#39;ve been distributing is a MinGW build. Our Windows TVM wrapper is written in a way, I think, that assumes it will be built against a Windows environment/headers/etc. The Cygwin build does not do that---it is a *NIX build that then requires support DLLs to function in a Windows world. I suspect this collision/issue does not happen when a MinGW build happens.</div>
<div style><br></div><div style>I&#39;m going to try again; I may come back to Cygwin, but I think this is why Christian went down the MinGW path when he did the Windows bundling. It is certainly the case that I could do a Cygwin build, but I think I&#39;d have to rewrite the Windows wrapper.</div>
<div style><br></div><div style>Cheers,</div><div style>M</div><div style><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Apr 16, 2013 at 5:03 AM, Carl Ritson <span dir="ltr">&lt;<a href="mailto:C.G.Ritson@kent.ac.uk" target="_blank">C.G.Ritson@kent.ac.uk</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Matt,<br>
<br>
&gt; [...snip...]<br>
<div class="im">&gt;<br>
&gt; I currently get through the compiler build, and all the way up to the TVM<br>
&gt; build. I get part way through libtvm, and then hit the build of the POSIX<br>
&gt; wrapper for Windows.<br>
&gt;<br>
&gt; gcc -DHAVE_CONFIG_H -I. -I../../../../../../tvm/posix<br>
&gt; -I/cygdrive/c/kroc/distribution/windows/build/kroc-tvm-posix/runtime/libtvm<br>
&gt; -I/cygdrive/c/kroc/runtime/libtvm -g -O2 -Wall<br>
&gt; -DTVM_FIRMWARE_PATH=&#39;&quot;/cygdrive/c/kroc/distribution/windows/install/share/tvm/firmware/&quot;&#39;<br>
&gt; -DTVM_LIBRARY_PATH=&#39;&quot;/cygdrive/c/kroc/distribution/windows/install/lib/tvm/&quot;&#39;<br>
&gt; -MT win32_io.o -MD -MP -MF .deps/win32_io.Tpo -c -o win32_io.o<br>
&gt; ../../../../../../tvm/posix/win32_io.c<br>
&gt;<br>
&gt; ../../../../../../tvm/posix/win32_io.c: In function<br>
&gt; ‘char_available_console_win32’:<br>
&gt;<br>
&gt; ../../../../../../tvm/posix/win32_io.c:34:2: error: ‘DWORD’ undeclared<br>
&gt; (first use in this function)<br>
&gt;<br>
&gt; ../../../../../../tvm/posix/win32_io.c:34:2: note: each undeclared<br>
&gt; identifier is reported only once for each function it appears in<br>
&gt;<br>
&gt; ../../../../../../tvm/posix/win32_io.c:34:8: error: expected ‘;’ before<br>
&gt; ‘count’<br>
&gt;<br>
&gt; The lack of a declaration of DWORD is because &quot;windef.h&quot; or (perhaps)<br>
&gt; &quot;windows.h&quot; is missing. Including &quot;windef.h&quot; yields conflicts on the<br>
&gt; definition of WORD, and &quot;windows.h&quot; conflicts with both &quot;WORD&quot; and &quot;UWORD&quot;.<br>
<br>
</div>In tvm_posix.h there is a workaround using macros which avoids the<br>
conflict with Windows types.  Do you have WIN32 defined in your<br>
config?  As that would cause the workaround to be activated and<br>
windows.h to be included?  The problem with cygwin might be that WIN32<br>
is not defined?<br>
<br>
Cheers,<br>
<br>
Carl<br>
</blockquote></div><br></div>