Top Ad unit 728 × 90

Latest news

recent

Biên dịch mã nguồn QT

Nguồn từ: internet

Biên dịch QT là một trong những công việc khá mệt mỏi bởi bạn rất dễ dàng gặp phải cả tá lỗi khó hiểu mà cũng không dễ gì giải quyết. Tôi soạn bài viết này như một ghi chú để nhớ, đồng thời chia sẻ cho những ai cần, vì tôi chỉ đột xuất làm việc với QT chứ không thường tiếp xúc với nó.

- Chọn phiên bản thích hợp, và tải về: có hàng chục phiên bản QT khác nhau trên trang download, việc chọn ra một phiên bản thích hợp mà mình cần cũng là cả một vấn đề, trong bài viết tôi chọn QT bản chính thức (Official Release) everywhere 5.4.1 có thể download ở link bên dưới
hoặc các bạn có thể chọn các bản khác tại: http://download.qt.io/

- Vì ở đây tôi làm việc với Linux (máy ảo Ubuntu Server, thư mục /home/bioz/workdir/) nên tôi giải nén file qt-everywhere-opensource-src-5.4.1.tar.gz vào thư mục đang làm việc của mình và tôi được thư mục /home/bioz/workdir/qt-everywhere-opensource-src-5.4.1/

- Chạy tiện ích configure của QT để tạo các thiết lập chuẩn bị cho biên dịch:
$ cd /home/bioz/workdir/qt-everywhere-opensource-src-5.4.1/
$ ./configure -opensource -confirm-license -platform linux-g++-64 -xplatform linux-arm-gnueabi-g++ -prefix /home/bioz/workdir/qtbuild/ -no-sse2 -no-sse3 -no-ssse3 -no-sse4.1 -no-sse4.2 -no-avx -no-avx2 -no-mips_dsp -no-mips_dspr2 -no-c++11 -qt-zlib -qt-pcre -nomake examples -qreal float
Chú ý các tùy chọn của lệnh configure rất nhiều (có thể xem thông qua lệnh: ./configure -help) tuy nhiên ta sẽ quan tâm tới vài tham số chính:

+ -platform linux-g++-64 : -platform là tùy chọn chỉ định môi trường dùng biên dịch, ở đây tôi dùng ubuntu server x64 nên tôi thiết lập giá trị là linux-g++-64

-xplatform linux-arm-gnueabi-g++ -xplatform là tùy chọn chỉ định môi trường chạy cuối cùng của thư viện, ở đây tôi muốn biên dịch QT cho ARM nên tôi chọn linux-arm-gnueabi-g++.  Lưu ý là với mỗi giá trị sẽ tương ứng với 1 thư mục cấu hình biên dịch được đặt ở /home/bioz/workdir/qt-everywhere-opensource-src-5.4.1/qtbase/mkspecs/, trong tình huống của tôi  là thư mục linux-arm-gnueabi-g++. Mỗi thư mục cấu hình biên dịch gồm 2 tập tin: qmake.confqplatformdefs.h cho phép bạn thiết lập đường dẫn của các công cụ biên dịch khác nhau. Trong tình huống môi trường đầu cuối bạn muốn không được hỗ trợ sẵn bởi QT bạn có thể đơn giản tự tạo ra một thư mục cấu hình với một cái tên, sao chép nội dung từ các thư mục cấu hình khác rồi chỉnh sửa cho phù hợp. Lưu ý trong môi trường của tôi trình biên dịch sau khi cài đặt thường nằm ở /usr/bin.

+  -prefix /home/bioz/workdir/qtbuild/ : -prefix là tùy chọn chỉ định thư mục chứa kết quả sau khi biên dịch.

+ Để biên dịch dưới dạng static hay dynamic các bạn thêm hoặc bỏ tùy chọn -static

Ngoài ra là các tùy chọn các thành phần cần hay không cần biên dịch của QT, cũng như các cấu hình về xử lý số, các hỗ trợ phần cứng.

- Để biên dịch và chép kết quả vào thư mục định trước theo tùy chon -prefix
$ make
$ make install


Binh Nguyen - Bioz
Biên dịch mã nguồn QT Reviewed by Bioz Nguyen on 9:02:00 PM Rating: 5
All Rights Reserved by IEEV © 2009 - 2016
Powered By Blogger, Designed by Sweetheme

Contact Form

Name

Email *

Message *

Powered by Blogger.