2014-12-30 2 views
0

안녕하세요, 저는 JNI로 생성 된 dll을 Project에서 사용하려고합니다. 32 비트 dll 생성 JNI

내가 64 비트 DLL을 생성하지만 내 프로젝트는 % 1

그래서 나는 새로운 DLL을 생성하기로 결정 올바른 Win32 응용 프로그램이 아닙니다라고하지만, 이번에 32 비트. Visual Studio에서 설정을 변경했습니다. 다른 게시물 인 Configuration to Win32와 Target Machine을 MachineX86으로 찾았습니다.

이 모든 작동하지만이 DLL을 사용하여 프로젝트를 시작할 때 동일한 오류가 발생합니다. 종속성 워커와 함께 DLL을 검사하고 DLL이 32 비트임을 알았지 만 포함 된 DLL은 64 비트입니다.

여러분, 내 마지막 희망입니다. 아이디어가 있습니까?

참고 : Linux atm으로 변경할 수 없습니다.

비주얼 스튜디오 2012 자바 버전 "1.7.0_71" 자바 (TM) SE 런타임 환경 (1.7.0_71-B14를 구축)

답변

1

그냥 읽었지만 이미 내 오류를 발견했습니다. 문제는 일식 전환이 작업 영역을 전환 할 때 JRE가 설치된 것입니다.

내 testprogramm에서 개발 한 64 비트 라이브러리를 개발했습니다. 실제 프로젝트에서는 설치 된 JRE가 다른 프로젝트와 다릅니다.

사람이

0

시스템 PATH를 확인하시기 바랍니다. Windows는 DLL 이름과 일치하는 첫 번째 DLL을로드하려고 시도합니다. DLL은 DLL이 32 또는 64 비트인지 확인하지 않으므로로드하려고 시도합니다.

32 비트 DLL을 만든 경우 종속 DLL이 또한 32 비트, 이고 Windows가 해당 32 비트 DLL의 첫 번째 문자 인을 찾도록해야합니다.

+0

을 확인하는 것을 잊지 마세요 같은 문제가 그렇다면 그냥 읽어하지만 난 이미 내 오류를 발견, 문제는 당신이 작업 공간을 전환 할 때 JRE의 설치되어 변화를 능가했다. 내 testprogramm에서 64 비트 라이브러리를 개발했습니다. 실제 프로젝트에서는 설치 된 JRE가 다른 프로젝트와 다릅니다. 누구나 동일한 문제가있는 경우이를 확인하는 것을 잊지 마십시오. – Martin

관련 문제