본문 바로가기
프로그래밍/언어_스크립트

윈도에서 jpeg/png 이미지 다루기 1 - jpeglib 컴파일

by 써드아이 2008. 2. 6.

윈도에는 자체적으로 jpeg 이미지를 다루기 위한 라이브러리가 존재하지 않는다.

따라서 외부의 라이브러리를 사용해야 하는데 대부분 libjpeg|jpeglib를 사용하는 듯 하다.

http://www.ijg.org/

에서 소스 코드를 받을 수 있다.

압축을 풀어보면 엄청 많은 파일들이 보이는데 다양한 플랫폼을 지원하듯 많은 makefile이

보이는데 실제로 어떻게 컴파일 해야할지는 막막...


그래서~!!

서핑 하다 찾은 irrlicht 라는 realtime 3D engine의 소스에 포함된 jpeglib를 가져다 쓰기로 한다.

http://irrlicht.sourceforge.net/ 에서 받을수 있다

윈도용 같으며 잘 정리된 jpeglib를 가져다 쓸 수 있다.

압축을 풀고 디렉토리를 들여다 보면 source/Irrlicht 디렉토리 밑에 jpeglib, libpng, MacOSX,

zlib 등의 디렉토리와 엄청난 양의 cpp, h 파일들을 볼 수 있는데

필요한 것은 jpeglib, libpng, zlib 디렉토리이다.

(zlib는 libpng를 컴파일 할 때 필요하다.)


evc에서 new project를 생성하는데 WCE Static Library, Project Name : 뭐든,  ok, finish

를 해주면 되는데 Pre-Compiled header와 MFC support는 체크하지 않는다.

이제 jpeglib에 있던 c와 h 파일을 몽땅 카피해 넣고 컴파일 해보자.

아.. 그 전에 jconfig.vc를 jconfig.h로 카피~

엄청난 에러가 난다..

에러를 발생시키는 파일을 하나씩 파일 리스트에서 제거하면서 매번 다시 컴파일을 시도한다.


ansi2knr.c
cdjpeg.c
jmemdos.c
jmemmac.c
rdjpgcom.c
wrjpgcom.c
tcdjpeg.c        - cdjpeg.c를 include 하는듯.. 그래서 삭제

jmemansi.c
jmemname.c
jmemmgr.c

의 파일이 에러 유발...
파일 리스트에서 삭제

jpegtran.c
djpeg.c
ckconfig.c

위 파일은 워닝 으로 삭제...

자.. 이제 컴파일..

jpeglib.lib - 0 error(s), 0 warning(s)



사용상 문제가 없다는 보장은 못 한다...
이제부터 그걸 확인해야 할 듯..