<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>