2012-06-21 7 views
1

소프트웨어 코드에 Java와 C++가 결합되어 있습니다. 그래서 JNI를 사용하여 JAVA에서 C++ 라이브러리 baiscally .dll과 .so를 호출합니다. 솔라리스에서 제대로 작동합니다. 우리는 .so를로드하고 Java 메소드에서 C++ 함수를 호출 할 수 있지만 Windows에서는 라이브러리를로드하는 지원되지 않는 방법 인 r6034 windows 오류가 발생합니다.Windows에서 JNI를 사용하여 라이브러리를로드하는 중 오류가 발생했습니다.

아무도 도와 줄 수 있습니까?

이미 java.exe.manifest를 생성하고 % JAVA_HOME %/bin에 추가했습니다.

감사 Niraj 라티

+2

몇 가지 코드를 보여줄 수 있습니까? – user845279

+0

[도움이 되셨습니까?] (http://cowwoc.blogspot.fr/2008/09/fixing-visual-studio-run-time-error.html) –

답변

2

매니페스트가 없습니다 java.exe를

다음
0

를 들어, DLL 필요는 java.exe.manifest 파일을하다 다른 코드가 약 50 큰

<?xml version='1.0' encoding='UTF-8' standalone='yes'?> 
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'> 
    <dependency> 
    <dependentAssembly> 
     <assemblyIdentity type='win32' name='Microsoft.VC80.CRT' version='8.0.50608.0' processorArchitecture='amd64' publicKeyToken='1fc8b3b9a1e18e3b' /> 
    </dependentAssembly> 
    </dependency> 
    <dependency> 
    <dependentAssembly> 
     <assemblyIdentity type='win32' name='Microsoft.VC80.CRT' version='8.0.50727.4053' processorArchitecture='amd64' publicKeyToken='1fc8b3b9a1e18e3b' /> 
    </dependentAssembly> 
    </dependency> 
</assembly> 

+ 파일을 컴파일했지만 컴파일되었습니다. C++ 코드는 JNI없이 잘 작동하며 Java 클래스도 컴파일됩니다. Java가 dll을로드하려고 할 때만 문제가 발생합니다.

+0

한 가지 더. 코드는 Visual Studio 2005 및 JDK 1.5가 설치된 Windows 2003 X64 서비스 팩 2 시스템에서 작성되었지만 Windows 2008 R2 (JDK 1.6)에서 실행 중입니다. – anonymous

관련 문제