Build PyQt5 in Python2.7 32-bit
Tại sao lại có bài viết này? Đơn giản vì hiện tại mình đang ngồi chờ PyQt5 build xong và mình không muốn người khác tốn nhiều thời gian như mình (~6 tiếng xàm xí :|)
Lý do mình tiến hành build PyQt5 là vì muốn sử dụng một số plugin cho IDA 6.8. Một số plugin như flare-ida, DROP,... có sử dụng Qt framework để làm giao diện. Lúc sử dụng thì sẽ hiển thị lỗi như này
Cho dù bạn có cài python-qt5 thì vẫn bị vì IDA 6.8 là 32-bit, kể cả file idaq64.exe (để ý việc debug một ứng dụng 64-bit trong IDA 6.8) trong khi python-qt5 lại được compile bằng 64-bit (đến IDA 7.0 thì mới chuyển hết toàn bộ sang 64-bit, hình như đấy là lý do vì sao một số plugin trở về trước không dùng được cho IDA 7.0)
Các bước tiến hành build được thực hiện như sau:
-
Cài đặt QtCreator
Tại sao lại phải cài cái này? Vì nó có thư viện Qt được biên dịch sẵn rồi, nếu bạn muốn khổ dâm hơn (tự build) thì có thể vào https://wiki.qt.io/Building_Qt_5_from_Git để thẩm.
Lưu ý là chọn đúng phiên bản 32-bit có compiler mà máy bạn có sẵn nhé. Ở đây mình chọn Qt x86 msvc2015 5.6.3 vì máy mình cài sẵn Visual Studio 2015 rồi.
Trong lúc cài nhớ tích chọn mục có tên compiler để có build tools của Qt nhé. Ví dụ msv2015, mingw, clang,...
Sau khi cài xong phải thêm đường dẫn chứa build tools vào%PATH%
, của mình làC:\Qt\Qt5.6.3\5.6.3\msvc2015\bin
-
Cài SIP
Mình không rõ phần mềm này chức năng là gì nhưng nó lại cần thiết khi build PyQt5.
Lưu ý là nên chọn phiên bản giống vớiSIP_MIN_VERSION
trong fileconfigure.py
của PyQt5 (tải ở bước 3)
Vào thư mục chứa mã nguồn SIP, bậtVS2015 x86 Native Tools Command Prompt
(cái này bản chất cũng chỉ là cmd.exe nhưng có thêm các biến môi trường của Visual Studio để build thôi) rồi gõpython configure.py
là xong.
À quên, trước khi gõpython configure.py
thì nhớ đổi tên thư mụcQtNfc
thành tên khác nhé. Đối với mình thì thư mục đó nằm trongC:\Qt\Qt5.6.3\5.6.3\msvc2015\include
(tải ở bước 3) -
Cài đặt PyQt5
Lựa chọn phiên bản PyQt5 giống với QtCreator
Vào thư mục mã nguồn của PyQt5 rồi lại bậtVS2015 x86 Native Tools Command Prompt
gõ:
python configure.py
nmake
nmake install
Có nhiêu đó bước mà tốn ~6 tiếng do ngu chứ thời gian build cũng không lâu lắm, và kết quả