32bit 에서 컴파일한 라이브러리를 64bit에서 호환되게 하는 방법 좀 알려주세요!

vim 을 이용해 c 프로그래밍을 하고 있습니다.

32bit 에서 컴파일한 dynamic library를 받았는데요 (ex. libdym.so) 이것이 아무리 끼워 넣어서 컴파일 하려해도 안되는 겂니다.

그래서 library를 사용하지 않고 제가 직접 다시 64bit에서 라이브러리를 만들어서 컴파일 한 후 똑같이 libdym.so를 만드니 아주 잘 됩니다.

뭐가 문제인고 해서 터미널 창에서

file libdym.so

명령 입력하니 libdym.so가 32비트 파일이어서 호환이 안된 것 같애요

변환하는 방법이 있다고 들었는데

어떻게 해줘야 하는건가요???

32비트 라이브러리를 64비트에서 쓰려면 먼저, ia32-libs libc6-i386 libc6-dev-i386 lib32gcc1 패키지를 설치하신 후, 컴파일 시에 -m32 옵션을 추가해주면 됩니다.

그러면 32비트로 컴파일이 되고, 64비트에서도 사용이 가능합니다.

전 그래서 걍 wine을 설치하곤 합니다. wine 자체가 32비트라 자동으로 32비트 라이브러리를 설치해주거든요.

[quote="bluekyu":2z1gvi9z]32비트 라이브러리를 64비트에서 쓰려면 먼저, ia32-libs libc6-i386 libc6-dev-i386 lib32gcc1 패키지를 설치하신 후, 컴파일 시에 -m32 옵션을 추가해주면 됩니다.

그러면 32비트로 컴파일이 되고, 64비트에서도 사용이 가능합니다.[/quote:2z1gvi9z]

좋은 정보 감사합니다. 아직 32비트만 사용해서 이런게 있는줄 몰랐네요

음 말로만 들어서 잘 모르겠네요 ㅎ 밤에 바로 해봐야 겠습니다 감사합니다!!!