1
我工作的一个JNI LIB的I2C传感器,我不能让我的makefile工作,可有人请看看:JNI编译致命错误:jni.h:没有这样的文件或目录
CC = gcc
#CFLAGS = -mtune=arm1176jzf-s -mfpu=vfp -mfloat-abi=hard -marmv6z -Wall
CFLAGS = -mtune=arm1176jzf-s -mfpu=vfp -mfloat-abi=hard -marm -O3 -Wall -shared -I/usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt/include -I/usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt/include/linux
LIBS= -L'$(LD_LIBRARY_PATH)' -ljvm
LD = ld
LDFLAGS =
OBJ = Test.o raspi.o i2c.o sht21.o
BIN = libpijava.so
gpio: $(OBJ)
$(CC) $(CFLAGS) -o $(BIN) $(OBJ) $(LDFLAGS) $(LIBS)
%.o: %.c
$(CC) $(CFLAGS) -c $<
clean:
rm -rf $(BIN) $(OBJ)
我的JNI的C文件是Test.cpp的,它依赖于sht21.h,raspi.h和i2c.h中
也发生了变化:
CC = gcc -I/usr/lib/jvm/default-java
#CFLAGS = -mtune=arm1176jzf-s -mfpu=vfp -mfloat-abi=hard -marmv6z -Wall
CFLAGS = -mtune=arm1176jzf-s -mfpu=vfp -mfloat-abi=hard -marm -O3 -Wall -shared -I/usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt/include -I/usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt/include/linux
LD = ld
LDFLAGS =
OBJ = Test.o raspi.o i2c.o sht21.o
BIN = libpijava.so
gpio: $(OBJ)
$(CC) $(CFLAGS) -o $(BIN) $(OBJ) $(LDFLAGS)
%.o: %.c
$(CC) $(CFLAGS) -c $<
clean:
rm -rf $(BIN) $(OBJ)
我也改变了它: *发布在编辑问题* 而且它仍然不起作用 –
对不起,错误的路径。你还必须安装'default-jdk-headless'软件包。 –
没有办法,它的一个树莓派我运行它:包没有找到 –