gcc编译:找不到size_t(在64位系统上安装JLirc)

时间:2015-01-10 14:09:33

标签: java c gcc java-native-interface lirc

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

因此我转向JUDS,它应该能够给我另一种方法来创建一个连接到lirc的套接字。

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

如果我现在运行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;

我看了on this question,包括<stddef.h>会有所帮助。但是,在尝试编译的.c源文件中添加行#include <stddef.h>并没有帮助。

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

  • 找到一种编译JUDS并获取我的.so文件的方法
  • 找到另一种方式,而不是JUDS连接到java中的linux套接字
  • 找到另一种方式而不是JLirc通过java
  • 连接到lirc

0 个答案:

没有答案