2010-03-09 28 views
5

Mới trong Lập trình Qt và tôi muốn phát triển một chương trình mà tôi muốn chạy trong Windows, Linux (ubuntu) và Mac.Chương trình Qt triển khai cho nhiều nền tảng, làm thế nào?

Tôi nghe nói rằng Qt hỗ trợ phát triển ứng dụng mutli-platform,

nhưng Câu hỏi của tôi là,

sẽ bất kỳ thư viện Qt cần để chạy các appilication trong Ubuntu sau khi tôi triển khai hoặc biên soạn ?

Trả lời

0

Nói cho phía Linux ở đây, nếu bạn phân phối ứng dụng của mình dưới dạng gói (deb, rpm) thì bạn có thể sử dụng quy tắc phụ thuộc gói. Nếu bạn định nghĩa các quy tắc này một cách chính xác, thì trình quản lý gói sẽ cài đặt các thư viện Qt mà bạn cần khi cài đặt ứng dụng của bạn.

1

Nếu bạn triển khai trên Ubuntu và do đó sử dụng gói .deb, công việc của bạn dễ dàng vì bạn chỉ cần yêu cầu qt làm phụ thuộc và apt sẽ tự động cài đặt khi cần.

Windows và Mac tuy nhiên không có bất kỳ lớp quản lý phần mềm "tốt", vì vậy bạn không có lựa chọn nào khác ngoài việc bao gồm các DLL Qt bắt buộc với tệp nhị phân hoặc biên dịch một tệp tĩnh. Trên Windows, bạn chỉ cần đảm bảo rằng các tệp DLL nằm trong cùng thư mục với chương trình của bạn. Mac tuy nhiên yêu cầu một số relinking được thực hiện. Đây là một nỗi đau lớn, nhưng may mắn thay Qt đi kèm với một công cụ có tên là macdeployqt làm điều này cho bạn.

Vì vậy, theo kinh nghiệm của tôi, Linux là nền tảng dễ triển khai nhất, tiếp theo là Windows và Mac là phiên bản tốt nhất.

Liên kết tới tài liệu triển khai Qt được nêu ở trên là điểm bắt đầu tốt. Nếu bạn cần một ví dụ, tôi đã viết một vài kịch bản để xây dựng các tệp nhị phân Windows của một chương trình của tôi. Bạn có thể xem những điều này để bắt đầu.

cài đặt Windows:
http://gitorious.org/tagaini-jisho/tagaini-jisho/blobs/master/pack/win32-cross/buildwin32releases.sh
http://gitorious.org/tagaini-jisho/tagaini-jisho/blobs/master/pack/win32-cross/tagainijisho.nsi

+0

Một nếp nhăn thêm nhẹ trên cửa sổ là .dll thường phải được biên dịch với trình biên dịch tương tự như ứng dụng của bạn, do đó bạn có thể muốn phát hành bản sao của riêng bạn. –

+0

cho mac, bạn có cần biên dịch trên máy MAC không? nếu bạn đang sử dụng máy phát triển windows và muốn triển khai với máy Mac thì sao? – KJW

Các vấn đề liên quan