2014-10-14 7 views
0

JNI 인터페이스를 통해 C++ dll 응용 프로그램을 작성하여 C++에서 Java 프로그램을 호출합니다. Java8, C++, Visual Studio 2010 Professional 및 Windows 7을 사용하고 있습니다. 현재 구성을 Active (x64)로 설정하고 ACtive (Debug)로 설정하고 있습니다.JNI : VS2010의 C++ 플랫폼

Active (x64)를 플랫폼으로 선택하면 VS에서 불평이없는 것으로 나타났습니다. Win32로 변경하면 "jni.h를 열 수 없습니다"라는 메시지가 표시됩니다. x64 또는 Wind32 중 하나 인 플랫폼을 릴리스로 변경하면 "jni.h를 열 수 없습니다"라는 메시지도 표시됩니다. 왜 이런거야? 아무도 설명 할 수 있을까요?

나는 configuration = debug 및 platform = x64를 사용하여 솔루션을 작성하고 dll을 생성 할 수 있습니다. 그런 다음이 DLL을 내 다른 C++ 프로젝트에서 아무 문제없이 호출 할 수 있습니다. DLL을 시스템에 릴리스하기 위해 구성을 변경해야합니까? 릴리스 및 디버그의 목적은 무엇입니까?

누구든지 솔루션 구성에 대한 문서를 가지고 있다면 공유하십시오.

감사합니다.

답변

1

include 문제의 경우 프로젝트 구성이 jni.h 인 디렉토리를 가리키는 지 확인하십시오. 그것은 기본적으로 당신이해야 할 일입니다.

디버그 및 릴리스와 관련하여 릴리스 버전은 JNI DLL을 타사 (예 : 고객)에게 배포하려는 경우 빌드해야하는 버전입니다. 차이점은 릴리스 버전은 모든 PC에 무료로 배포 할 수있는 "릴리스"Microsoft 런타임 라이브러리를 무료로 사용할 것이라는 점입니다.

디버그 버전은 Microsoft Debug 런타임 라이브러리를 사용하기 때문에 DLL의 디버그 버전을 배포하려면 이 아니고 (Microsoft 사용권 계약에 따라)이어야합니다. 이러한 디버그 라이브러리는 유효한 Visual Studio 2010이 설치된 사용자 만 사용할 수 있습니다.