0

我正在使用 JLirc 在 java 中访问我的遥控器。它使用本机方法通过套接字连接到 lirc。不幸的是,JLirc 的最后一次更新是在 15 年前,因此它不支持 64 位系统。

因此,我求助于 JUDS,它应该能够为我提供另一种方法来创建连接到 lirc 的套接字。

我使用我认为是标准的 C 方法来编译通过 java ( libunixdomainsocket-linux-x86_64.so) 访问的库。我使用创建配置文件autoconf和使用./configure.

如果我现在运行make,我会收到以下错误:

/usr/bin/javah -sourcepath . -o com/etsy/net/UnixDomainSocket.h com.etsy.net.UnixDomainSocket
gcc -g -O2 -shared -fPIC -I /usr/include -I /usr/include/linux -I /usr/lib/jvm/java-7-openjdk-amd64/include -m32 -o libunixdomainsocket-linux-i386.so com/etsy/net/UnixDomainSocket.c 
In file included from /usr/include/stdio.h:74:0,
                 from /usr/lib/jvm/java-7-openjdk-amd64/include/jni.h:39,
                 from com/etsy/net/UnixDomainSocket.h:2,
                 from com/etsy/net/UnixDomainSocket.c:6:
/usr/include/libio.h:306:3: error: unknown type name ‘size_t’
   size_t __pad5;

我读到这个问题,包括<stddef.h>会有所帮助。但是,#include <stddef.h>在 .c 源文件中添加它尝试编译的行并没有帮助。

知道我能做些什么来解决这个问题吗?

  • 找到编译 JUDS 并获取我的 .so 文件的方法
  • 找到除 JUDS 之外的另一种方法来连接到 java 中的 linux 套接字
  • 找到除 JLirc 之外的另一种方式通过 java 连接到 lirc
4

0 回答 0