qt windows deployment

Install Qt Creator 4.11.2
Based on Qt 5.14.2 (MSVC 2017, 32 bit) (64bit?)

ตอนสร้างโปรเจคให้ เลือก qmake ไว้ด้วย

ใน .pro  ใส่ลิงค์ lib ของ opencv

LIBS += C:\opencv3.4.10\build\x64\vc15\lib\opencv_world3410d.lib \
C:\opencv3.4.10\build\x64\vc15\lib\opencv_world3410.lib

ใน project build setting ถ้าเลือก shadow build (เลือกไว้อยู่)  โปรแกรมมันจะไปสร้าง build folder ใหม่ แยกออกจาก project folder

เขียนโค๊ด>run qmake> run build ตามปกติใน qt creator ก็จะได้หน้าต่างโปรแกรม

ข้างในโฟลเดอร์ debug ที่ถูกสร้างขึ้นจากการ build ในตอนแรก

แต่ว่าถ้าเอาโฟลเดอร์นี้ไปเปิดในคอมเครื่องอื่น มันจะขึ้น System error. Qt5Core.dll not found

วิธีแก้

เขียนโฟล์เดอร์ของ qt เพิ่มเข้าไปใน windows environment path

ตอนที่จะสร้างไฟล์สำหรับ deploy

ให้ลบไฟล์อื่นๆ เหลือแค่ โปรแกรมของเรา.exe  แล้วเปิด cmd ในโฟลเดอร์นั้น

พิมพ์ windeployqt.exe –quick .

คำสั่งนี้จะสร้างไฟล์อื่นๆที่เกี่ยวข้องในการรันโปรแกรมมาไว้ในโฟลเดอร์นี้ให้

แต่ว่า .dll ของ opencv ต้อง manual copy จาก C:\opencv3.4.10\build\x64\vc15\bin มาวางไว้ใน build folder เอง

เสร็จแล้วก็ copy ทั้งโฟลเดอร์ไปรันในคอมเครื่องอื่นได้ละ

 

ปล. เจอหนัสือ opencv+qt น่าสนใจ

Computer Vision with OpenCV 3 and Qt5 : build visually appealing, multithreaded, cross-platform computer vision applications

https://github.com/PacktPublishing/Computer-Vision-with-OpenCV-3-and-Qt5

 

Posted in qt