2010-05-08 3 views
0

내 실행 파일이 실행하려면 zlib1.dll이 필요하고,zlib1.dll을 C에서 실행 파일로 병합하려면 어떻게해야합니까?

그리고 나는 그때 그들을 함께 지켜야합니다.

어떻게 문제를 해결하기 위해 실행 파일에 병합 할 수 있습니까?

저는 실행 파일을 빌드 할 때 cmake를 사용하고 있습니다.

UPDATE

zlib1.dll 직접 내 프로그램 자체에 의해 포함되어 있지만 libpng14-14.dll (은 gtk 번들 중 하나 DLL) 당신이 당신의 프로그램이되지 않도록 정적으로 링크 할 같은

답변

1

그것은 소리가 필요하지 않습니다 실행하려면 zlib1.dll이 있어야합니다. 하지만 zlib1.dll동적 인 링크 라이브러리 (DLL이 의미하는 것입니다!)이므로 정적으로 연결할 수 없습니다. 가장 먼저해야 할 일은 정적 라이브러리입니다. 창문에서는 보통 .lib 확장자로 끝납니다.

저는 cmake에 익숙하지 않아, 일단 누군가가 가지고 있으면 정적 라이브러리를 사용하는 방법에 대해 다른 사람들이 질문에 대답하게 할 것입니다.

+0

cmake가 필요하지 않은 경우 어떻게합니까? – httpinterpret

+0

컴파일러에 달려 있습니다. –

1

죄송합니다. 혼합 할 방법이 없습니다. 정적 또는 동적으로 컴파일하고 링크해야합니다. 나는 그것을 시도했다 - 그것은 작동하지 않는다.

그래서 libpng.dll에 zlib.dll이 필요한 경우 zlib를 정적 라이브러리로 설정할 수 없습니다. 또한 libpng를 정적 라이브러리로 컴파일해야합니다.

나는 이것을 몇 번이나 해냈다. PNG, ZLIB (또한 JPEG, TIFF 이미지 형식 라이브러리)의 메이크 파일도 꽤 좋다. 해야 할 일을 파악하기 위해 30 분 이상이 필요하다면, C 메이크 파일 기술에 대한 훌륭한 교육으로 간주해야합니다.

+0

zlib1.dll이 'LoadLibrary'또는로드 라이브러리에 의해 링크되어 있는지 여부는 알 수 없습니다. 후자의 경우 zlib1.dll을 수정할 수 있습니다. – httpinterpret

관련 문제