2013-02-15 2 views
2

나는 파이썬 빌드 스크립트를 사용하여 모든 빌드를 실행하는 vs2012와 함께 Windows에서 작업하고 있습니다. Boost 1.52를 빌드하려고하는데 정적으로 zlib에 링크해야합니다. zlib 빌드가 있고 기본적으로 정적 라이브러리 zlib.lib와 dll zlib1.dll이 연관된 zdll.lib와 함께 만들어졌습니다. 그런 다음 스위치가있는 부스트 라이브러리를 만듭니다.빌드 부스트 1.52 with zlib with static library

-sZLIB_BINARY=zlib -sZLIB_INCLUDE=%s -sZLIB_LIBPATH=%s 

여기서 % s는 적절한 폴더로 바뀝니다. 이 정적 zlib.lib 파일에 대한 링크가 발생할 것으로 생각합니다. 나는이 모든 것을 사용하는 응용 프로그램을 가지고 있습니다. 나는 zlib.lib에서 연결하고 마지막 exe의 의존성 보행자를 달리고 zlib1.dll를 얻는다. zlib에는 다른 의존성이 없기 때문에 이것이 유일한 곳입니다. 나는 또한 http://www.boost.org/doc/libs/1_43_0/libs/iostreams/doc/installation.html에 내가 설치 문서 불구 보았다 스위치

-sNO_ZLIB=0 

을 추가 한 내가 놓친 거지 그 무엇을 찾을 수 없습니다.

은 ... 미리 감사

+0

나는 다른 링크를 찾고있는 동안 내가 부스트에 의 #pragma 주석 (ZLIB, BOOST_ZLIB_BINARY) 가 있음을 발견 ... 다음과 같은 방법으로이 문제를 해결하고이 플래그는 devenv를의 전처리 설정에서 설정 zdll.lib에 대한 나의 마지막 프로젝트. 나는 이것을 zlib.lib로 조정했고 모든 것이 적절하게 작동하고있다. – MichaelB

답변

0

다른 링크를 찾고 내가 부스트에

# pragma comment(lib, BOOST_STRINGIZE(BOOST_ZLIB_BINARY)) 

이 플래그 BOOST_ZLIB_BINARY이 있음을 발견 동안 나는 ... 다음과 같은 방법으로이 문제를 해결했다 zdll.lib에 대한 나의 마지막 프로젝트를 위해 devenv의 전 처리기 설정에서 설정되었습니다. 나는 이것을 zlib.lib로 조정했고 모든 것이 적절하게 작동하고있다.