I'm not sure but I think -lhdi should be -lhid, since it's a human interface device library. See https://docs.microsoft.com/en-us/windows-hardware/drivers/hid/introduction-t...
Martin
On Sun, Feb 2, 2020 at 12:04 PM ffdd cchh camarafede@gmail.com wrote:
Hi Martin, Christof,
thanks both. Still no luck.
I managed through steps a) b) and d), with the exception that I could not add "-lhdi", as it appears to not be installed here. Is that pointing to this: https://cran.r-project.org/web/packages/hdi/index.html ?
The log now points to *many* undefined references on mostly hidio_windows.c and on hidio.c (which I suspect is my missing step c), for which I did not have time)
I attach the log here again.
I have hit a brick wall here so I will not pursue this further unless there are other instructions I can follow.
Thanks for you help,
Best,
fd
On Fri, Jan 31, 2020 at 10:52 PM Christof Ressi info@christofressi.com wrote:
The order of .o files doesn't matter. It's shared and static libraries which sometimes have to be specified in a certain order.
The actual problem was that
a) hidio_windows.c used _WINDOWS instead of _WIN32 as a guard around the whole code, so hidio_windows.o was empty.
b) then there was a wrong header (<ddk/hidsdi.h> instead of <hidsdi.h>)
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.
d) there were missing linker flags "-lhdi -lSetupAPI".
Also, I couldn't get the autotools makefile to work, so I just compiled manually on the command line. Finally I got a binary :-)
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...
Christof On 01.02.2020 02:50, Martin Peach wrote:
Line 76 of the log: 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 hidio.o: In function
hidio_tick': Z:\Desktop\hidio/hidio.c:513: undefined reference to
hidio_get_events'hidio_tick is in hidio.o, which has compiled successfully. 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. Perhaps switching hidio.o and hidio_windows.o in that gcc command will let the linker find the symbols before they are needed.
Martin
On Fri, Jan 31, 2020 at 5:29 PM ffdd cchh camarafede@gmail.com wrote:
Hi Christof,
Thanks! Yes, I found these threads on the list:
https://lists.puredata.info/pipermail/pd-list/2019-11/126348.html https://lists.puredata.info/pipermail/pd-list/2019-10/126096.html
But, there are still no Windows version of this external...
Github issue is up: https://github.com/Benitoite/hidio/issues/2
Hope something comes out of this thread! I am sure there are enough Windows users out there in need of some hid external.
Best,
f
On Fri, Jan 31, 2020 at 4:57 PM Christof Ressi info@christofressi.com wrote:
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.
Christof On 31.01.2020 21:05, ffdd cchh wrote:
Dear list,
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).
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 ( https://github.com/Benitoite/hidio) and I am stuck with "undefined reference"s all over. I attach here the console log.
I would very much welcome any idea on how to approach this so I can use vanilla with my students :)
Best,
f
_______________________________________________Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
-- fdch.github.io _______________________________________________ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
_______________________________________________Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
-- fdch.github.io _______________________________________________ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list