2011-12-29 3 views
2

부스트의 GIL 이미지 라이브러리를 사용하는 C++ 코드가 있는데 boost::gil::png_write_view을 사용하여 파일을 쓰고 싶습니다. boost/gil/extension/io/png_io.hpp. 헤더 자체에는 png.h이 포함되어 있으며 링크 종속성에 대한 결과가 표시됩니다.VisualStudio2008에서 개발 가능한 libpng을 얻는 가장 빠르고 쉬운 방법은 무엇입니까?

데비안에서는 컴파일되어 잘 연결됩니다. 누락 된 부분에 대해 불만을 제기하면 aptitude install libpng-dev을 통해 필요한 헤더와 라이브러리가 몇 초 후에 사라집니다.

Windows (Visual Studio 2008 for XP64)에서는 원본 (및 그 zlib 종속성)에서 libpng을 직접 빌드해야하는 것처럼 보입니다. 명백한 포장이 이미있는 경우, 나는 그것을 보지 않을 것입니다. 그런 유용한 자원이 있다면 누구나 나를 계몽 할 수 있습니까?

답변

3

Libpng 자체 패키징 자체가 vc6 및 VC7.1 (VS2003) 용 프로젝트 파일을 제공하는 것으로 보입니다. 그리고 최근 릴리스에는 VC10 프로젝트 파일도 포함됩니다. 그러나 VC8 (VS2005) 또는 VC9 (VS2008)에는 아무 것도 없습니다. 그러나 instructions here (아직 시도해 보지 못했지만)은 변환 마법사를 통해 7.1 프로젝트 파일을 실행 한 후 2008 년을위한 건물을 설명합니다.

처음에 GnuWin32 build of libpng을 시도했지만 (32 비트 만 제외하고) VS2008의 CRT에서 FILE *을 전달할 때 fwrite에 대한 libpng 호출에서 충돌했습니다. libpng의 자체 문서는 이것과 MSVC의 다른 버전을 혼합 할 때의 위험에 대해 말하고 있지만, 제안 된 workround는 직접 libpng 사용자에게만 관련이 있습니다 (그리고 나는 GIL을 통해 그것을 사용하고 있습니다).

업데이트 : 변환 된 프로젝트 파일이 꽤 잘 작동합니다 (아마도 사소한 명백한 픽스 업). 작업의 가장 큰 부분은 64 비트 빌드를 만드는 것이 었습니다. 원본 및 변환 된 프로젝트 파일에는 그러한 구성이 포함되어 있지 않으며 Visual Studio에서 파일을 생성하는 동안 일관된 폴더/파일 이름 등을 얻기 위해 상당량의 구성 대화 편집이있었습니다.

+1

참고 : VC8은 VS2005이고 VC9는 VS2008입니다. –

+0

감사합니다. – timday

관련 문제