วันเสาร์ที่ 1 มิถุนายน พ.ศ. 2562

ลงใหม่หมด

เริ่มตั้งแต่เครื่องเพิ่งลง ubuntu 18.04 เสร็จใหม่ๆเลย ยังไม่ได้ลงอะไรทั้งสิ้น
download QT จาก link นี้
download.qt.io/official_releases/qt/5.12/5.12.3/qt-opensource-linux-x64-5.12.3.run
chmod +x qt-opensource-linux-x64-5.7.0.run
./qt-opensource-linux-x64-5.7.0.run
sudo apt-get install build-essential 
sudo apt-get install libfontconfig1
sudo apt-get install mesa-common-dev
sudo apt-get install libglu1-mesa-dev -y  
แล้วก็ลง mysql
https://qt-thailand.blogspot.com/2019/10/mysql-rpi.html หรือ
https://support.rackspace.com/how-to/installing-mysql-server-on-ubuntu/
sudo apt-get install libqt5sql5-mysql  

เมื่อลง mysql เสร็จแล้ว และเปิดโปรแกรม qt ขึ้นมา
เมื่อเราเขียน code และ compile แล้ว ทดลองรันดู จะพบ errorประมาณนี้
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 
ให้แก้ไขโดยทำตามนี้
ให้เข้าไปที่โฟลเดอร์ที่เราลงโปรแกรม qt ไว้
cd /opt/Qt5.2.1/5.2.1/gcc_64/plugins/sqldrivers 
แล้วพิมพ์
ldd libqsqlmysql.so
เราจะเห็น
libmysqlclient.so.18 => not found
ให้ไปที่นี่
https://launchpad.net/ubuntu/xenial/amd64/libmysqlclient18/5.6.25-0ubuntu1
แล้ว download ตัวนี้มา
libmysqlclient18_5.6.25-0ubuntu1_amd64.deb
เมื่อได้ไฟล์มาแล้ว ให้ใช้คำสั่ง
sudo dpkg -i libmysqlclient18_5.6.25-0ubuntu1_amd64.deb

เพียงเท่านี้ เราก็จะสามารถใช้ qt กับ mysql ได้แล้ว

แต่ถ้าเราเขียน code แล้ว compile แล้ว พบ error ที่ไม่มี QMYSQL เช่น
QSqlDatabase: available drivers: QSQLITE
ให้ทำดังนี้
cd Qt5.13.1/5.13.1/Src/qtbase/src/plugins/sqldrivers แล้วพิมพ์
../../../../../gcc_64/bin/qmake sqldrivers.pro ถ้า error ลองอ่านที่มันฟ้องขึ้นมา ในที่นี้ฟ้องว่า ให้ลองติดตั้ง qtchooser
sudo apt-get qtchooser
แล้วก็
../../../../../gcc_64/bin/qmake sqldrivers.pro เมื่อเสร็จแล้วก็ตามด้วย
make install 
ที่มา
https://forum.qt.io/topic/80882/error-while-compiling-qt-mysql-driver/20 
 
ที่มา
https://wiki.qt.io/Install_Qt_5_on_Ubuntu 
https://stackoverflow.com/questions/14667768/qmysql-driver-available-but-not-loaded
https://stackoverflow.com/questions/37369480/qsqldatabase-qmysql-driver-not-loaded-on-ubuntu-15-04-64bits

ลงใหม่หมด

เริ่มตั้งแต่เครื่องเพิ่งลง ubuntu 18.04 เสร็จใหม่ๆเลย ยังไม่ได้ลงอะไรทั้งสิ้น
download QT จาก link นี้
download.qt.io/official_releases/qt/5.12/5.12.3/qt-opensource-linux-x64-5.12.3.run
chmod +x qt-opensource-linux-x64-5.7.0.run
./qt-opensource-linux-x64-5.7.0.run
sudo apt-get install build-essential 
sudo apt-get install libfontconfig1
sudo apt-get install mesa-common-dev
sudo apt-get install libglu1-mesa-dev -y  
แล้วก็ลง mysql
https://support.rackspace.com/how-to/installing-mysql-server-on-ubuntu/
sudo apt-get install libqt5sql5-mysql  

เมื่อลง mysql เสร็จแล้ว และเปิดโปรแกรม qt ขึ้นมา
เมื่อเราเขียน code และ compile แล้ว ทดลองรันดู จะพบ errorประมาณนี้
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 
ให้แก้ไขโดยทำตามนี้
ให้เข้าไปที่โฟลเดอร์ที่เราลงโปรแกรม qt ไว้
cd /opt/Qt5.2.1/5.2.1/gcc_64/plugins/sqldrivers 
แล้วพิมพ์
ldd libqsqlmysql.so
เราจะเห็น
libmysqlclient.so.18 => not found
ให้ไปที่นี่
https://launchpad.net/ubuntu/xenial/amd64/libmysqlclient18/5.6.25-0ubuntu1
แล้ว download ตัวนี้มา
libmysqlclient18_5.6.25-0ubuntu1_amd64.deb
เมื่อได้ไฟล์มาแล้ว ให้ใช้คำสั่ง
sudo dpkg -i libmysqlclient18_5.6.25-0ubuntu1_amd64.deb

เพียงเท่านี้ เราก็จะสามารถใช้ qt กับ mysql ได้แล้ว

แต่ถ้าเราเขียน code แล้ว compile แล้ว พบ error ที่ไม่มี QMYSQL เช่น
QSqlDatabase: available drivers: QSQLITE
ให้ทำดังนี้
cd Qt5.13.1/5.13.1/Src/qtbase/src/plugins/sqldrivers แล้วพิมพ์
../../../../../gcc_64/bin/qmake sqldrivers.pro ถ้า error ลองอ่านที่มันฟ้องขึ้นมา ในที่นี้ฟ้องว่า ให้ลองติดตั้ง qtchooser
sudo apt-get qtchooser
แล้วก็
../../../../../gcc_64/bin/qmake sqldrivers.pro เมื่อเสร็จแล้วก็ตามด้วย
make install 
ที่มา
https://forum.qt.io/topic/80882/error-while-compiling-qt-mysql-driver/20 
 
ที่มา
https://wiki.qt.io/Install_Qt_5_on_Ubuntu 
https://stackoverflow.com/questions/14667768/qmysql-driver-available-but-not-loaded
https://stackoverflow.com/questions/37369480/qsqldatabase-qmysql-driver-not-loaded-on-ubuntu-15-04-64bits