You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 24.04编译Qt 6.8.1无法加载QPSQL等SQL驱动求助

解决QPSQL驱动未加载及构建失败问题

1. 确认PostgreSQL安装路径与环境变量

  • 执行以下命令获取PostgreSQL实际安装前缀:
    pg_config --prefix
    
    源码编译默认路径通常为/usr/local/pgsql,后续步骤请替换为你的实际路径。
  • 配置环境变量,确保系统能识别PostgreSQL的头文件与库:
    export PKG_CONFIG_PATH=/usr/local/pgsql/lib/pkgconfig:$PKG_CONFIG_PATH
    export LD_LIBRARY_PATH=/usr/local/pgsql/lib:$LD_LIBRARY_PATH
    export PATH=/usr/local/pgsql/bin:$PATH
    
    将上述命令添加至~/.bashrc可永久生效,执行source ~/.bashrc使配置立即生效。

2. 安装驱动构建依赖

Ubuntu环境下需确保基础构建工具与依赖包已安装:

sudo apt install build-essential cmake libpq-dev

3. 重新构建QPSQL驱动

Qt SQL驱动源码位于Qt安装目录的src/plugins/sqldrivers下(示例路径为/usr/local/Qt-6.8.1/src/plugins/sqldrivers),按以下步骤操作:

  • 清理并创建新构建目录:
    cd /usr/local/Qt-6.8.1/src/plugins/sqldrivers
    rm -rf build
    mkdir build && cd build
    
  • 用CMake指定PostgreSQL路径并配置构建:
    cmake .. -G Ninja \
      -DCMAKE_PREFIX_PATH=/usr/local/Qt-6.8.1 \
      -DPGSQL_CONFIG=/usr/local/pgsql/bin/pg_config \
      -DQT_BUILD_EXAMPLES=OFF \
      -DQT_BUILD_TESTS=OFF \
      -DBUILD_psql=ON
    
  • 编译并安装驱动:
    ninja
    ninja install
    
    安装完成后,驱动文件会被部署至/usr/local/Qt-6.8.1/plugins/sqldrivers/libqsqlpsql.so。

4. 验证驱动可用性

  • 创建Qt测试项目,添加以下代码检查驱动列表:
    #include <QCoreApplication>
    #include <QSqlDatabase>
    #include <QDebug>
    
    int main(int argc, char *argv[])
    {
        QCoreApplication a(argc, argv);
        qDebug() << "Available drivers:" << QSqlDatabase::drivers();
        return a.exec();
    }
    
  • 若输出未包含QPSQL,检查驱动依赖是否正常:
    ldd /usr/local/Qt-6.8.1/plugins/sqldrivers/libqsqlpsql.so | grep libpq
    
    若libpq.so无法被找到,可修改驱动的rpath:
    patchelf --set-rpath /usr/local/pgsql/lib /usr/local/Qt-6.8.1/plugins/sqldrivers/libqsqlpsql.so
    

5. 额外排查点

  • 若CMake仍提示PostgreSQL_FOUND=FALSE,确认pg_config可正常执行,检查pg_config --includedir与pg_config --libdir输出是否正确。
  • 若Qt为源码编译,需确认编译时启用了插件支持(默认开启),重新编译Qt时可追加-sql-psql选项直接内置驱动。

内容的提问来源于stack exchange,提问作者KingWm

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 13:52:36