반응형
JNI를 사용하는 자바의 클래스가 (default package)가 아닌 다른 package에 있을 경우
(package명이 달라지게 되면) exception 오류가 나게된다.
왜냐?? JNI에 대한 라이브러리를 생성할 때 package 명에 맞게 헤더파일을 생성해야 하기 때문이다.. ㅡㅡ
가령 패키지명이 포함된 클래스의 풀네임이 aaa.kkkclass이라면 (패키지명).(클래스명)
해당 클래스 파일을 컴파일 한 후, 커맨드를 aaa의 상위 폴더에 위치시킨 후 다음 명령어를 실행한다.
>javah aaa.kkkclass
그럼 패키지명과 함께 적용된 헤더파일이 생성된다.
이제 dll 프로젝트에 헤더파일을 바꾸고 cpp파일의 함수명을 새로 생성된 헤더파일의 함수명으로 바꾸고 나니 패키지에 포함되어서도 정상적으로 작동하게 되었다.
결론은 java단에서 package 명이 달라질경우 dll을 새로 만들어 (위의 절차대로) 적용해야 한다는 것이다.
반응형
'My > works' 카테고리의 다른 글
네트워크 드라이브 연결 끊김 해결방안 (9) | 2014.01.23 |
---|---|
MySQL 배치파일 만들기 (0) | 2014.01.08 |
[MFC] 날짜연산하기(CTImeSpan) (0) | 2013.12.04 |
BYTE, WORD, DWORD, int, long (1) | 2013.11.08 |
MFC 다이얼로그 item 탭 순서 변경 (0) | 2013.08.07 |
[html] input="file" 버튼 이미지 변경하는 방법 (0) | 2013.03.07 |
이클립스 Save Failed 오류 해결 (1) | 2013.03.06 |
mysql 테이블 생성 (create table) 예제 (0) | 2013.02.27 |
이클립스를 이용한 하둡 hadoop hdfs 파일전송 (샘플 소스) (0) | 2013.02.25 |
하둡 hadoop datanode 동작 오류 해결 (2) | 2013.02.21 |