문제

QT Creator를 사용하여 앱을 개발하는 법을 배우고 있습니다. Windows 아래에서 간단한 앱을 구축했으며 Mingwm10.dll, qtcore4.dll, qtgui4.dll, qtnetwork4.dll 사용에 따라 다릅니다. qtqui4.dll에서 나는 몇 개의 위젯 만 사용하고 나머지는 모두 필요하지 않습니다 ... qtgui4.dll의 크기를 줄이거 나 응용 프로그램의 배포 크기를 줄이기 위해 다른 일을 할 수 있습니까? 정적 링크는 어떻습니까? 전체 DLL 또는 사용되는 부분 만 포함됩니까? 또한 QT가 일부 DLL을 정적으로 그리고 역동적으로 연결하는 것이 가능합니까?

도움이 되었습니까?

해결책

일부 기능을 제거하여 qtgui4.dll을 축소 할 수 없습니다. 트롤 테크입니다 이것을 살펴 봅니다, 그러나 좋은 해결책은 매우 먼 것 같습니다.

정적 링크는 Windows에서 매우 문제가 있다고 생각합니다. 내가 시도 할 때마다, 그것은 악몽이었습니다.

따라서 일반 DLL에 갇힌 것처럼 보입니다. 당신이 할 수있는 유일한 일 (QT 앱을 위해 할 일)은 :

  • 사용 upx DLL을 압축합니다

또는

  • 설치 프로그램에서 강한 압축을 사용하십시오

이미 DLL을 UPX를 UPX에 사용하면 설치 프로그램 압축으로 더 이상 줄일 수는 없지만 다른 파일을 줄일 수 있습니다.

다른 팁

가장 좋은 방법은 구성으로 QT 라이브러리를 수동으로 구성하는 것입니다. 발행함으로써

configure --help

디스크 및 메모리 발자국을 줄이는 데 도움이되는 여러 가지 옵션이 표시됩니다. 예를 들어

--no-stl
--no-exceptions

둘 다 응용 프로그램의 발자국을 줄일 수 있습니다. MKSPEC를 수정하여 컴파일러에보다 공격적인 최적화 플래그를 사용할 수도 있습니다.

정적으로 연결하면 1.5GB EXE로 끝나고 플러그인과 같은 기능을 희생합니다. 따라서 DLL을 배포하고 싶지 않다면 실제로 가치가 없습니다. 그러나 네, Henrik의 제안을 시도하고 아마도 가장 큰 코드 덩어리 인 WebKit을 제외 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top