Tôi đang học cách phát triển các ứng dụng bằng Qt Creator. Tôi đã xây dựng một ứng dụng đơn giản trong Windows, phụ thuộc vào việc sử dụng mingwm10.dll, QtCore4.dll, QtGui4.dll, QtNetwork4.dll. Trong số QtQui4.dll tôi chỉ sử dụng một vài tiện ích và không cần tất cả các phần còn lại ... Có thể thu nhỏ kích thước của QtGui4.dll hoặc làm điều gì đó khác để giảm kích thước triển khai của ứng dụng không? Làm thế nào về liên kết tĩnh? Nó sẽ nhúng toàn bộ dll, hoặc chỉ một phần của nó được sử dụng? Và cũng có thể với Qt để liên kết một số dll tĩnh và một số năng động?Giảm kích thước ứng dụng GUI Qt
Trả lời
Không thể thu nhỏ QtGui4.dll bằng cách xóa một số chức năng. Trolltech là having a look at this, nhưng giải pháp tốt có vẻ khá xa:
Liên kết tĩnh, tôi nghĩ rằng nó rất có vấn đề trên cửa sổ. Mỗi lần tôi thử, đó là một cơn ác mộng.
Vì vậy, có vẻ như bạn đang mắc kẹt với DLL thông thường. Điều duy nhất bạn có thể làm (mà tôi làm cho các ứng dụng Qt của tôi là):
- sử dụng UPX để nén DLL của bạn
hoặc
- sử dụng nén mạnh trong cài đặt của bạn
Nếu bạn đã UPX dll của bạn, bạn không thể giảm nó hơn nữa với nén trình cài đặt, nhưng điều này có thể làm giảm các tệp khác.
Cách tốt nhất là định cấu hình thư viện Qt theo cách thủ công với cấu hình. Bằng cách phát hành
configure --help
bạn sẽ thấy một số tùy chọn có thể giúp giảm cả dung lượng đĩa và bộ nhớ. Ví dụ.
--no-stl
--no-exceptions
cả hai đều có thể làm giảm dấu chân của đơn đăng ký của bạn. Bạn cũng có thể sửa đổi mkspec để sử dụng các cờ tối ưu hóa tích cực hơn cho trình biên dịch của bạn.
Nếu bạn liên kết tĩnh bạn kết thúc với một exe 1.5GB và bạn hy sinh một số chức năng như trình cắm. Vì vậy, nó không thực sự có giá trị trừ khi bạn không muốn phân phối các dll. Nhưng vâng, bạn có thể thử đề xuất của Henrik và cũng loại trừ Webkit mà có lẽ là đoạn mã lớn nhất.
Trong ngữ cảnh của câu hỏi ban đầu, ngoại trừ WebKit không tạo ra bất kỳ sự khác biệt nào không sử dụng nó (chỉ có Core, Gui, Network modules). –
- 1. Giảm thiểu ứng dụng Qt
- 2. Giảm kích thước là gì?
- 3. Giảm kích thước kho git
- 4. Giảm kích thước tệp pdf
- 5. Giảm kích thước của .rodata
- 6. Giảm kích thước tệp SWF
- 7. QDialog không thể thay đổi kích thước với kích thước cố định trong Qt?
- 8. DLL bị thiếu khi khởi chạy ứng dụng Qt GUI
- 9. PhoneGap kích thước ứng dụng IOS
- 10. Cách giảm kích thước phông chữ .ttf?
- 11. Android - Giảm kích thước tệp hình ảnh
- 12. Giảm kích thước tệp jar bên ngoài
- 13. Cách sử dụng GUI Qt với Vala?
- 14. Qt: Đặt kích thước của QMainWindow
- 15. Giảm thiểu kích thước phân phối python
- 16. Giảm thiểu kích thước của Textblock
- 17. Thiết kế GUI Qt lập trình
- 18. Cách phát hiện xem ứng dụng GUI Qt có bị nhàn rỗi không, bên trong ứng dụng (Qt)?
- 19. Tài nguyên JPG nhúng không tải trong ứng dụng Qt
- 20. cách giảm kích thước hình ảnh lớn xuống kích thước hình thu nhỏ trong android
- 21. Qt splitter bố trí thay đổi kích thước hành vi bằng cách sử dụng Qt Designer
- 22. Cách giảm kích thước ảnh JPEG trong Android
- 23. Win32 GUI nhấp nháy khi đổi kích thước
- 24. jQuery fullcalendar - cách giảm kích thước của lịch
- 25. Giảm kích thước của Thanh Đánh giá trong Android 2.1
- 26. GUI dựa trên SWT nhận được màu đen tối đa hóa từ việc giảm thiểu kích thước trong Kích thước đầy đủ
- 27. Cách giảm kích thước tệp âm thanh trong IOS
- 28. Kích thước ứng dụng iPhone Unity quá lớn
- 29. Giảm thiểu kích thước phụ thuộc của jar
- 30. Phân phối lại ứng dụng Python GUI
Yea, "UPX -9 QtGui4.dll" là cách để đi :) –
Mẹo thú vị, tôi chưa bao giờ sử dụng UPX trước đây. – PowerApp101
Cảm ơn bạn! Dấu chân nhỏ nhất của ứng dụng GUI Qt bạn có thể lưu trữ theo cách này là gì? – Dmitri