1

早上好。

我尝试使用 %QTDIR/demos 中的 sqlbrowser 编译 QIBASE 驱动程序以访问 FireBird 数据库。但是在我填写了 sqlbrowser 中的所有字段并按下 OK 按钮后,程序崩溃并显示消息:

/opt/qt-everywhere-opensource-src-4.7.3/demos/sqlbrowser-build-desktop/sqlbrowser: symbol lookup error: 
/usr/lib/qt4/plugins/sqldrivers/libqsqlibase.so: undefined symbol: isc_attach_database

要编译 QIBASE 驱动程序,我已完成以下步骤:

  1. 将 FirebirdCS-2.5.0 安装到 /opt/firebird。
  2. 将 qt 源解压缩到 /opt/qt4。
  3. 编译QIBASE驱动:

    cd /opt/qt/src/plugins/sqldrivers/ibase qmake -o Makefile "INCLUDEPATH+=/opt/firebird/include" "LIBS+=-L/opt/firebird/lib/libfbclient.so" ibase.pro

  4. 把 libqsqlibase.so 放到 /usr/lib/qt4/plugins/sqldrivers

  5. 填写 sqlbrowser 中的所有字段,推送 OK 和 propgram 崩溃并显示上述消息。

数据库正常:我已连接到它并通过 isql 执行查询。

请帮我解决问题。谢谢你。

Ubuntu 10.10、Qt4、火鸟 2.5.0。

4

1 回答 1

1

解决了。问题是我用从二进制文件安装的 qt4.7.0 编译了 sqlbrowser,但是 QIBASE 驱动程序是用 qt4.7.3 编译的。

于 2011-08-10T07:57:10.750 回答