0

java.sun.com の例に従ってサンプル jni アプリを作成しましたが、問題が発生しました。私はgccでunixを使用するつもりです。*.c ファイルをネイティブ関数でコンパイルしてライブラリを作成するにはどうすればよいですか? どのパラメータを使用しますか? たくさんあって迷います。

4

1 に答える 1

1

次のメイクファイルを使用してコンパイルします。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 $@ $<
于 2011-09-18T15:26:06.300 に答える