我按照java.sun.com中的示例来构建示例jni应用程序,但我遇到了问题。我打算使用unix和gcc。如何使用本机函数编译* .c文件以获得库?我应该使用哪些参数?有很多,我很困惑。
答案 0 :(得分:1)
我使用以下makefile进行编译。
只需从命令行键入make
即可。
TARGET = myagent
CC = gcc
# linux config
JDK = /usr/local/share/jdk1.6.0_20
CFLAGS=-Wall -I$(IDIR) -shared -DLINUX -I$(JDK)/include/linux -I$(JDK)/include
COMPILE = $(CC) $(CFLAGS) -c
OBJDIR = obj
SOURCES := $(wildcard *.c)
DEPS := $(wildcard *.h)
OBJFILES := $(addprefix $(OBJDIR)/, $(patsubst %.c, %.o, $(SOURCES)))
exe: $(OBJFILES)
$(CC) $(OBJFILES) -shared -o $(TARGET)
$(OBJDIR)/%.o : %.c $(DEPS)
$(COMPILE) -o $@ $<