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

윈도에서 jpeg/png 이미지 다루기 2 - zlib/libpng 컴파일

by 써드아이 2008. 2. 6.

* zlib

zlib는 libpng를 컴파일 하기 위해서 필요하며  http://www.zlib.org 에서

다운 받을 수 있지만 역시 Irrlicht 의 소스코드에 있는 것을 사용하기로 한다.

jpeglib와 같은 방법으로 project를 만든다.

컴파일을 시도하면 에러가 몇개 나오는데...


zconf.h 에


#ifndef _WIN32_WCE
#define _WIN32_WCE
#endif

추가


#define NO_ERRNO_H

추가

gzio.c 파일에서..

const char * ZEXPORT gzerror (file, errnum) 함수에서


char *m;
char *m = NULL;
수정..

    m = (char*)(*errnum == Z_ERRNO ? zstrerror(errno) : s->stream.msg);
//    m = (char*)(*errnum == Z_ERRNO ? zstrerror(errno) : s->stream.msg);
수정..

와 같이 추가, 수정해주면 깔끔하게 컴파일 된다.


* libpng

마찬가지로 http://www.libpng.org 에서 받을 수 있지만 역시나 irrlicht 에 포함된 소스를

사용하기로 한다.

역시 컴파일 하면 에러가 주르륵 뜨는데..

#include "zlib.h"
#include "../zlib/zlib.h"

와 같이 zlib 디렉토리를 맞게 넣어준다.

pngrutil.c 파일의

__inline double png_strtod(png_structp png_ptr, const char *nptr, char **endptr) 함수

에서

png_free(str);
png_free(png_ptr, str)

수정해주면..

워닝이 두개 뜨고.. 컴파일은 잘 된다....


jpeglib와 마찬가지로 잘 동작된다는 보장은 못 한다..
이제 그걸 확인해봐야지...