내 kali 리눅스 (데비안 기반)에 Qt 5.3.2 64 비트를 설치했고 MySQL 데이터베이스에 연결하는 데 문제가 있습니다.QT 5.3.2 linux libmysqlclient
우선, 어떤 이유로 든 미리 만들어진 qsqlmysql qt 드라이버는이 배포판에서 기본적으로 제공되는 libmysqlclient18 (libmysqlclient.so.18) 대신 libmysqlclient16 (ldd는 libmysqlclient_r.so.16을 찾을 수 없음)에 의존합니다! 심볼릭 링크를 만들고 libmysqlclient_r.so.16이라는 이름을 지정하면 작동하지 않습니다. 그래서 debian (squeeze iirc) 용 libmysqlclient16을 찾고 설치했습니다!
[email protected]:~$ ldd /opt/Qt5.3.2/5.3/gcc_64/plugins/sqldrivers/libqsqlmysql.so
linux-vdso.so.1 => (0x00007fff4a9ce000)
libmysqlclient_r.so.16 => /usr/lib/libmysqlclient_r.so.16 (0x00007ffb99a3d000)
libQt5Sql.so.5 => /opt/Qt5.3.2/5.3/gcc_64/plugins/sqldrivers/../../lib/libQt5Sql.so.5 (0x00007ffb997fc000)
(...)
그것은 작동하지만, 큰 문제를 가지고 ... 그것은 아마도 오래된 그리고 내가 날짜 시간에 밀리 초를 사용할 수 있도록,> 5.6 MySQL의 서버에 연결하는 데 사용합니다 (이후 MySQL은 5.6.4) . libmysqlclient가이를 지원하지 않는 것으로 보입니다. DB에서 가져 오는 모든 타임 스탬프에는 밀리 초가 0으로 채워져 있습니다.
그럼 질문은 : 대신 qmqlmysql이 libmysqlclient18을 찾는 방법이 있습니까? (일반 데비안 wheezy에서 시도했기 때문에 libmysqlclient18이 보인다.)
현재 plattform 용 mysql 플러그인을 다시 빌드하기 만하면됩니다. ''$ QTDIR/src/plugins/sqldrivers/mysql /'''qmake "LIBS + = - L/usr/lib/-lmysql" "INCLUDEPATH + =/usr/include /"mysql을 실행하면된다. pro && make'. 이것은 시스템에있는 최신 mysql-library를 사용하여 Qt 용 mysql-plugin을 빌드해야한다. 설치된 시스템에 해당하는 LIBS/INCLUDEPATH를 변경해야 할 수도 있습니다. –
나는 그것을 막으려 고 노력했다. (필자는 대단히 게으 르기 때문에) ... 잘 ... 모든 것을 업데이트 한 후, 그리고 새로운 플러그인을 빌드하는 동안 왜 --lmysqlclient_r과 같은 것을 찾지 못했는지 알아 낸 후, 괜찮 았는데;) 고마워! @SebastianLange 원하는 경우 정식 답변 만들기 – RuiDo