2011-03-16 5 views
1

JOGL을 처음 사용합니다. Eclipse를 사용하고 JOGL jar와 dll (예, Windows OS)을 가져 왔습니다. 그러나 JOGL 라이브러리를 검색 할 때 32 비트 버전을 다운로드했습니다. 나는 64 비트 OS를 가지고 있지만, 32 비트 애플 리케이션을 실행할 수 있기 때문에 더 적절할 것이라고 생각했다. 그러나 컴파일러는 불평하고있다 : Can't load IA 32-bit .dll on a AMD 64-bit platformJOGL 32 vs. 64 비트 라이브러리 오류

음, 처음에는 자바 자체가 아키텍처에 의해 분리되지 않는다고 생각했다. 예, 저는 Windows OpenGL 인터페이스 (API)에 링크하기 위해 기본 라이브러리를 사용하고 있지만이 코드 스 니펫을 자바 바이트 코드에 포함시키고 싶습니다. 그렇다면 컴파일러가 왜 32 비트를 사용할 수 있습니까? 감사.

답변

4

64 비트 OS가 있으므로 64 비트 JVM을 설치했습니다. 64 비트 JVM은 32 비트 DLL을 사용할 수 없으므로 64 비트를 다운로드하거나 시스템에 32 비트 JVM을 설치하고 대신 해당 JVM을 사용하도록 Eclipse를 설정해야합니다.

+0

감사합니다. 내 말은, 순수한 JVM 모양에서, 그것은 단지 일부 코드 스 니펫이다. CPU가 처리 할 수있는 이유는 무엇입니까? OS 제한 사항이있을 수 있지만 JVM은 32 비트 모드에서 다른 프로세스를 시작할 수 있고 코드를 시작할 수 있음을 알고 있습니다. –

+1

이것은 Windows가 32 비트 에뮬레이션을 지원하는 방식과 관련된 JVM 관련 문제는 아닙니다. 몇 가지 해킹/해결 방법이 있지만 모든 경우에 작동하지는 않습니다. JVM이이 중 하나를 사용하지 않는 이유는 다음과 같습니다 (http://stackoverflow.com/questions/128445/calling-32bit- 코드에서 64 비트 프로세스까지). – JohnnyO

1

64 비트 JVM에서 32 비트 라이브러리를로드 할 수 없습니다. 작동 시키려면 (또는 64b dll을 얻으려면) 32b JVM을 시작해야합니다.

관련 문제