[IDE] Can't load IA 32-bit .dll on a AMD 64-bit platform 에러 해결방법

개발환경 세팅 후 컴파일을 하면 아래처럼 Can't load IA 32-bit .dll on a AMD 64-bit platform이라는 에러가 뜰 때가 있습니다. 

이클립스 에러

자바 프로젝트에서 DLL을 호출할때 나타나는 에러로 빌드한 DLL 파일은 32bit이지만 JVM은 64bit 이기 때문에 발생하는 에러입니다. 

 

해결 방안

1. dll 파일을 64bit로 빌드한다.

2. JVM을 32bit로 설정하여 컴파일 한다.

 

이 중에서 2번째 방법이 더 간단하고 향후 똑같은 문제가 발생하는 것을 예방하실 수 있습니다.

 

현재 설치되어 있는 JDK 32bit / 64bit 확인하기

java 64bit 확인

cmd창을 켜신 후  java -d64 -version  이라고 입력했을 때 위와 같이 나온다면 64bit JDK가 설치된 것입니다.

 

JVM을 32BIT로 설정하기

JVM 32BIT 설정1

1. 좌측 상단의 메뉴에서 Windows -> Preferences로 들어갑니다.

 

JVM 32BIT 설정2

2. 좌측 트리에서 Java -> Installed JREs로 들어가면 아마 64bit짜리 JDK나 JRE가 설정되어 있을 텐데 이것을 제거합니다.

 

JVM 32BIT 설정3

3. 신규로 32bit JDK를 설치한 후 Add버튼을 누릅니다.

 

JVM 32BIT 설정4

4. Standard VM을 클릭한 뒤 Next를 누르고 32bit JDK나 JRE경로를 추가해줍니다.

JVM 32BIT 설정5

5. 추가한 후 Apply and Close 버튼을 눌러주면 정상적으로 빌드가 되는 것을 확인하실 수 있습니다.

댓글

Designed by JB FACTORY