<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>The order of .o files doesn't matter. It's shared and static
libraries which sometimes have to be specified in a certain order.</p>
<p>The actual problem was that</p>
<p>a) hidio_windows.c used _WINDOWS instead of _WIN32 as a guard
around the whole code, so hidio_windows.o was empty.</p>
<p>b) then there was a wrong header (<ddk/hidsdi.h> instead
of <hidsdi.h>)</p>
<p>c) some methods are not implemented, so I copied the dummy
implementation from hidio_linux.c. It seems like those methods are
only relevant for OSX.</p>
<p>d) there were missing linker flags "-lhdi -lSetupAPI".</p>
<p>Also, I couldn't get the autotools makefile to work, so I just
compiled manually on the command line. Finally I got a binary :-)</p>
<p>To be honest, I don't think that anyone ever compiled this code
on Windows, so it is probably untested. Anyway, when I have time I
can clean this up and make a PR (or just fork it). Then we
probably need some testing before we upload it to Deken...<br>
</p>
<p>Christof<br>
</p>
<div class="moz-cite-prefix">On 01.02.2020 02:50, Martin Peach
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:CAN5xZ3ZtN_a5-7635b76zzWvbT+rRHWu8o_Rve_idXbT3MQOMA@mail.gmail.com">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<div dir="ltr">
<div>Line 76 of the log:<br>
</div>
<div>gcc -DPD -g -O2 -I/z/Desktop/pure-data/src
-mms-bitfields -L/z/Desktop/pure-data/src
-L/z/Desktop/pure-data/bin -L/z/Desktop/pure-data/obj -s
-shared -o hidio.dll hidio.o hidio_types.o hidio_windows.o
-L/src -L/bin -L/obj -lpd</div>
hidio.o: In function `hidio_tick':<br>
<div>Z:\Desktop\hidio/hidio.c:513: undefined reference to
`hidio_get_events'</div>
<div><br>
</div>
<div>hidio_tick is in hidio.o, which has compiled successfully.</div>
<div>hidio_get_events is in hidio_windows.o, which also exists;
but the linker is linking three .o files, and hidio_windows.o
is the last one. <br>
</div>
<div>Perhaps switching hidio.o and hidio_windows.o in that gcc
command will let the linker find the symbols before they are
needed.</div>
<div><br>
</div>
<div>Martin<br>
</div>
<div><br>
</div>
<div><br>
</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Fri, Jan 31, 2020 at 5:29
PM ffdd cchh <<a href="mailto:camarafede@gmail.com"
moz-do-not-send="true">camarafede@gmail.com</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 dir="ltr">Hi Christof,
<div><br>
</div>
<div>Thanks! Yes, I found these threads on the list:</div>
<div><br>
</div>
<div><a
href="https://lists.puredata.info/pipermail/pd-list/2019-11/126348.html"
target="_blank" moz-do-not-send="true">https://lists.puredata.info/pipermail/pd-list/2019-11/126348.html</a><br>
</div>
<div><a
href="https://lists.puredata.info/pipermail/pd-list/2019-10/126096.html"
target="_blank" moz-do-not-send="true">https://lists.puredata.info/pipermail/pd-list/2019-10/126096.html</a><br>
</div>
<div><br>
</div>
<div>But, there are still no Windows version of this
external... </div>
<div><br>
</div>
<div>Github issue is up: <a
href="https://github.com/Benitoite/hidio/issues/2"
target="_blank" moz-do-not-send="true">https://github.com/Benitoite/hidio/issues/2</a></div>
<div><br>
</div>
<div>Hope something comes out of this thread! I am sure
there are enough Windows users out there in need of some
hid external.</div>
<div><br>
</div>
<div>Best,</div>
<div><br>
</div>
<div>f</div>
<div><br>
</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Fri, Jan 31, 2020 at
4:57 PM Christof Ressi <<a
href="mailto:info@christofressi.com" target="_blank"
moz-do-not-send="true">info@christofressi.com</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>
<p>I remember a similar thread on the list a few months
ago. I tried to compile it and gave up. The build
system for Windows seems to be broken and needs to be
fixed (and probably switched from automake to
pd-lib-builder). Unfortunately, I don't have time
right now to work on this, but you could file a bug
report on the GitHub repo, so maybe the maintainer
will do it.<br>
</p>
<p>Christof<br>
</p>
<div>On 31.01.2020 21:05, ffdd cchh wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">Dear list,
<div><br>
</div>
<div>I need to use external controllers via USB with
vanilla (say, a PS4 controller), and I have not
found a compiled version of [hidio] for Windows.
Please, let me know if there are ready-made
options out there (feel free to change subject
line if that thread goes wild).</div>
<div><br>
</div>
<div>In the meantime, I am trying to compile [hidio]
for Windows. I'm on Windows 10.0.18362, x64-based
PC. I am using a MSYS terminal with MINGw64. I
took the latest code from Benitoite's repository (<a
href="https://github.com/Benitoite/hidio"
target="_blank" moz-do-not-send="true">https://github.com/Benitoite/hidio</a>)
and I am stuck with "undefined reference"s all
over. I attach here the console log. </div>
<div><br>
</div>
<div>I would very much welcome any idea on how to
approach this so I can use vanilla with my
students :)</div>
<div><br>
</div>
<div>Best,</div>
<div><br>
</div>
<div>f</div>
<div><br>
</div>
</div>
<br>
<fieldset></fieldset>
<pre>_______________________________________________
<a href="mailto:Pd-list@lists.iem.at" target="_blank" moz-do-not-send="true">Pd-list@lists.iem.at</a> mailing list
UNSUBSCRIBE and account-management -> <a href="https://lists.puredata.info/listinfo/pd-list" target="_blank" moz-do-not-send="true">https://lists.puredata.info/listinfo/pd-list</a>
</pre>
</blockquote>
</div>
_______________________________________________<br>
<a href="mailto:Pd-list@lists.iem.at" target="_blank"
moz-do-not-send="true">Pd-list@lists.iem.at</a> mailing
list<br>
UNSUBSCRIBE and account-management -> <a
href="https://lists.puredata.info/listinfo/pd-list"
rel="noreferrer" target="_blank" moz-do-not-send="true">https://lists.puredata.info/listinfo/pd-list</a><br>
</blockquote>
</div>
<br clear="all">
<div><br>
</div>
-- <br>
<div dir="ltr">
<div dir="ltr">
<div>
<div dir="ltr"><a href="http://fdch.github.io"
target="_blank" moz-do-not-send="true">fdch.github.io</a></div>
</div>
</div>
</div>
_______________________________________________<br>
<a href="mailto:Pd-list@lists.iem.at" target="_blank"
moz-do-not-send="true">Pd-list@lists.iem.at</a> mailing list<br>
UNSUBSCRIBE and account-management -> <a
href="https://lists.puredata.info/listinfo/pd-list"
rel="noreferrer" target="_blank" moz-do-not-send="true">https://lists.puredata.info/listinfo/pd-list</a><br>
</blockquote>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<pre class="moz-quote-pre" wrap="">_______________________________________________
<a class="moz-txt-link-abbreviated" href="mailto:Pd-list@lists.iem.at">Pd-list@lists.iem.at</a> mailing list
UNSUBSCRIBE and account-management -> <a class="moz-txt-link-freetext" href="https://lists.puredata.info/listinfo/pd-list">https://lists.puredata.info/listinfo/pd-list</a>
</pre>
</blockquote>
</body>
</html>