상세 컨텐츠

본문 제목

LCMS2 #2 - VS2017 환경 구성

멀티미디어/이미지(Image)

by cepiloth 2020. 1. 6. 15:12

본문

728x90
반응형

 

 

아래 웹 사이트에 접속하여 source를 다운로드한다.

http://www.littlecms.com/

 

Little CMS – Great color at small footprint

News Little CMS 2.9 released This is a maintenance release which solves stability issues. About Little CMS Little CMS intends to be an OPEN SOURCE small-footprint color management engine, with special focus on accuracy and performance. It uses the Internat

www.littlecms.com

필자는 https://github.com/mm2/Little-CMS GITHUB를 통해서 다운로드하였다.

압축을 풀고 Little-CMS-master / Projects 폴더를 이동하면 아래의 처럼 프로젝트 경로가 Visual Studio 버전 별로 생성되어 있다. 원하는 프로젝트를 실행하고 빌드를 한다.

 

 최초 빌드를 하면 tiff, jpeg library들이 없어 빌드 에러가 나는데 jpeg의 경우 http://www.ijg.org/files 웹 사이트에서 라이브러리를 다운로드하고 static library를 링커 경로에 등록해주면 된다.

tiff, jpeg 라이브러리를 정적 라이브러리를 빌드를 했지만 아래와 같은 빌드 에러가 나타 난다.

오류	LNK2001	__imp__sprintf 외부 기호를 확인할 수 없습니다.
오류	LNK2001	__imp____iob_func 외부 기호를 확인할 수 없습니다.

Visual Studio 버전이 올라감에 따라 발생하는 문제이다.

__imp__sprintf 에러는 아래와 같이 프로젝트 [구성] - [링커] - [입력]legacy_stdio_definitions.lib를 추가하면 에러가 수정된다.

 

LNK2001 __imp____iob_func 에러는 한참을 구글링 해서 겨우 찾았다.

Visual Studio 2015부터 선언부가 변경되어 생긴 문제라곤 하는데 https://inneka.com/programming/cpp/unresolved-external-symbol-__imp__fprintf-and-__imp____iob_func-sdl2/ 블로그를 보고 수정하였다. 필자가 수정한 방법은 아래와 같다.

// 최 상단의 아래 코드를 정의
FILE* __cdecl __iob_func(void)
{
    FILE _iob[] = { *stdin, *stdout, *stderr };
    return _iob;
}

 

libjpeg, libtiff, 두 가지 error를 수정하면 정상 빌드를 할 수 있다.

728x90
반응형

관련글 더보기

댓글 영역