Ok, I did Christof's step c) and copied those dummy functions (and basically commented out anything but a debug_post() inside "hidio_devices()" and "hidio_elements()", and indeed got a binary. But, it's no use.
I try to get some data on why it crashes but it just says 'segmentation fault': ``` camarahalac.1@ACD-NC054624 MINGW64 ~/Desktop $ /c/Users/camarahalac.1/Downloads/pd-0.50-2/bin/pd.exe -d 4 -stderr -open /c/Users/camarahalac.1/Downloads/pd-0.50-2/extra/hidio/hidio-help.pd Segmentation fault ``` On Sun, Feb 2, 2020 at 12:38 PM ffdd cchh <[email protected]> wrote: > You are right! I now have undefined references only on hidio.o: > > hidio.o: In function `hidio_write_event': > Z:\Desktop\hidio/hidio.c:357: undefined reference to > `hidio_write_event_symbols' > Z:\Desktop\hidio/hidio.c:336: undefined reference to > `hidio_write_event_ints' > Z:\Desktop\hidio/hidio.c:347: undefined reference to > `hidio_write_event_symbol_int' > hidio.o: In function `hidio_setup': > Z:\Desktop\hidio/hidio.c:643: undefined reference to `hidio_devices' > Z:\Desktop\hidio/hidio.c:644: undefined reference to `hidio_elements' > > hidio.o:hidio.c:(.rdata$.refptr.hidio_elements[.refptr.hidio_elements]+0x0): > undefined reference to `hidio_elements' > hidio.o:hidio.c:(.rdata$.refptr.hidio_devices[.refptr.hidio_devices]+0x0): > undefined reference to `hidio_devices' > collect2.exe: error: ld returned 1 exit status > make[1]: *** [Makefile:267: hidio.dll] Error 1 > make[1]: Leaving directory '/z/Desktop/hidio' > make: *** [Makefile:303: all-recursive] Error 1 > > > > > On Sun, Feb 2, 2020 at 12:17 PM Martin Peach <[email protected]> > wrote: > > > > 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-to-hid-concepts > > > > Martin > > > > On Sun, Feb 2, 2020 at 12:04 PM ffdd cchh <[email protected]> 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 <[email protected]> > 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 <[email protected]> > 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 < > [email protected]> 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 > >>>>> > >>>>> > >>>>> _______________________________________________ > >>>>> [email protected] mailing list > >>>>> UNSUBSCRIBE and account-management -> > https://lists.puredata.info/listinfo/pd-list > >>>>> > >>>>> _______________________________________________ > >>>>> [email protected] mailing list > >>>>> UNSUBSCRIBE and account-management -> > https://lists.puredata.info/listinfo/pd-list > >>>> > >>>> > >>>> > >>>> -- > >>>> fdch.github.io > >>>> _______________________________________________ > >>>> [email protected] mailing list > >>>> UNSUBSCRIBE and account-management -> > https://lists.puredata.info/listinfo/pd-list > >>> > >>> > >>> _______________________________________________ > >>> [email protected] mailing list > >>> UNSUBSCRIBE and account-management -> > https://lists.puredata.info/listinfo/pd-list > >>> > >>> _______________________________________________ > >>> [email protected] mailing list > >>> UNSUBSCRIBE and account-management -> > https://lists.puredata.info/listinfo/pd-list > >> > >> > >> > >> -- > >> fdch.github.io > >> _______________________________________________ > >> [email protected] mailing list > >> UNSUBSCRIBE and account-management -> > https://lists.puredata.info/listinfo/pd-list > > > > -- > fdch.github.io > -- fdch.github.io
_______________________________________________ [email protected] mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
