[PD] compiling hidio for Windows

Martin Peach chakekatzil at gmail.com
Sun Feb 2 18:17:49 CET 2020


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 <camarafede at 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 at 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 at 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 at 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 at lists.iem.at mailing list
>>>> UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
>>>>
>>>> _______________________________________________
>>>> Pd-list at lists.iem.at mailing list
>>>> UNSUBSCRIBE and account-management ->
>>>> https://lists.puredata.info/listinfo/pd-list
>>>>
>>>
>>>
>>> --
>>> fdch.github.io
>>> _______________________________________________
>>> Pd-list at lists.iem.at mailing list
>>> UNSUBSCRIBE and account-management ->
>>> https://lists.puredata.info/listinfo/pd-list
>>>
>>
>> _______________________________________________Pd-list at lists.iem.at mailing list
>> UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
>>
>> _______________________________________________
>> Pd-list at lists.iem.at mailing list
>> UNSUBSCRIBE and account-management ->
>> https://lists.puredata.info/listinfo/pd-list
>>
>
>
> --
> fdch.github.io
> _______________________________________________
> Pd-list at lists.iem.at mailing list
> UNSUBSCRIBE and account-management ->
> https://lists.puredata.info/listinfo/pd-list
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20200202/976dbdc3/attachment.html>


More information about the Pd-list mailing list