2016-10-13 6 views
0

Qt Creator를 사용하여 Raspberry Pi 3가 포함 된 임베디드 장치 용 postgres에 대한 연결을 사용하려고하지만 드라이버가로드되지 않습니다. 바탕 화면의 동일한 응용 프로그램은 괜찮습니다.Qt Creator 임베디드 임베디드 임베디드 PSQL

제 예제는 매우 간단합니다.

는 난 단지 QSQLITE 라즈베리 목록에서

QSqlDatabase::drivers(); 

와 로그 메인 클래스와 그 안에 콘솔 프로젝트를 가지고 있고, 다른 사람의 사이에서 바탕 화면 목록 QSQLITE, QPSQL, QMYSQL.

Qt Creator와 함께 제공되는 Boot2Qt가있는 장치에 연결하는 oQt Creator Enterprise를 사용하고 있습니다. 컴파일 및 실행이 모두 올바르지 만 장치의 PSQL 드라이버는 나열되어 있지 않습니다.

답변

0

QSqlDatabase :: drivers()는 특정 플랫폼에서로드 할 수있는 드라이버 만 표시하며 많은 경우 Qt 드라이버와 특정 클라이언트 라이브러리가 필요한 작동하는 드라이버가 있습니다.

어쩌면 특정 Linux 버전의 라즈베리 용 postgresql 클라이언트 라이브러리가있을 수 있지만 Boot2Qt가 자동으로 보드에로드되지 않습니다.

Linux의 특정 버전에 맞는 클라이언트 라이브러리를 찾고 (아마도 컴파일해야 할 것입니다) 수동으로 postgresql Qt 드라이버를 보드에 복사하면 QSqlDatabase :: drivers()에 postgresql 드라이버가 표시되어야합니다 유효한.

+0

마르코 감사합니다. 라이브러리를 libqsqlpsql.so에 "arm"하도록했고, 그것을/usr/lib에 복사했지만 성공하지는 못했습니다. 어떻게 든이 라이브러리를 등록해야합니까? –

+0

아니오 더 복잡하다고 생각합니다. Qt 드라이버는 주요 플랫폼 용 바이너리로 제공됩니다. 부 플랫폼에서는 컴파일해야합니다. 컴파일하려면 postgresql 클라이언트의 개발 버전이 필요합니다. 그런 다음 특정 플랫폼 용 드라이버를 컴파일해야합니다. , 그것은 매우 복잡 할 수 있습니다 .. http://doc.qt.io/qt-4.8/sql-driver.html#qpsql – Marco

+0

cd $ QTDIR/src/plugins/sqldrivers/psql qmake "INCLUDEPATH + =/usr/include/pgsql ""LIBS + = - L/usr/lib -lpq "psql.pro 이것들은 당신이 그 순간에 작업하고있는 플랫폼을위한 드라이버를 빌드하는 일반적인 명령이지만, 어떻게해야할지 모르겠습니다. 다른 플랫폼 – Marco

관련 문제