2011-09-18 6 views
1

java.sun.com의 예제를 따라 샘플 jni 앱을 만들었지 만 문제가 있습니다. 나는 유닉스와 gcc를 사용하려고한다. * .c 파일을 네이티브 함수로 컴파일하여 라이브러리를 만들려면 어떻게해야합니까? 어떤 매개 변수를 사용해야합니까? 많아서 혼란 스럽네.기본 JNI 앱을 작성하려면 어떻게해야합니까?

+0

죄송합니다. 질문을 잘못 읽었습니다. 나는 당신이 C 컴파일러의 매개 변수가 아닌 JNI 튜토리얼에있는 정보를 찾고 있다고 가정했다. 하향 투표가 제거되고 상향 투표가 주어졌습니다. 또한 GCC 태그를 추가했는데 부분적으로는 GCC와 관련 되었기 때문에 대부분 게시물을 편집하고 내 투표를 변경할 수 있습니다. 다시 미안 해요. –

답변

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 [email protected] $< 
+0

이 파일을 내 프로젝트의 폴더에 넣어야합니까? 이름을 '메이크 파일'이라고 부릅니까? –

+0

나는 어리석은 오류가있어 : user @ user : ~/jni/hello $ make 메이크 파일 : 16 : *** 구분 기호가 누락되었습니다. 중지. –

관련 문제