当前位置: 首页 > article >正文

Windows Qt 6安装Oracle QOCI SQL Driver插件

本文参考 QOCI for the Oracle Call Interface (OCI)。

Windows

  1. 打开 Qt 6.8.0 (MSVC 2022 64-bit)。

Setting up environment for Qt usage…
Remember to call vcvarsall.bat to complete environment setup!

  1. 执行
"D:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat"

"D:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64

或将该路径添加到环境变量 PATH。
3. 执行

mkdir build-sqldrivers
cd build-sqldrivers
qt-cmake -G Ninja D:\Qt\6.8.0\Src\qtbase\src\plugins\sqldrivers -DCMAKE_INSTALL_PREFIX=D:\Qt\6.8.0\msvc2022_64 -DOracle_INCLUDE_DIR=D:\WINDOWS.X64_213000_db_home\oci\include -DOracle_LIBRARY=D:\WINDOWS.X64_213000_db_home\oci\lib\msvc\oci.lib -DCMAKE_BUILD_TYPE=RelWithDebInfo
cmake --build .
cmake --install .

其中,qt-cmake的位置在D:\Qt\Qt 6.8.0\msvc2022_64\bin\qt-cmake.bat,如果使用cmake则要注意检查所使用的cmake是否为该路径下的(如果环境变量 PATH 中有cmake则会使用 PATH 中的)。D:\Qt\6.8.0\msvc2022_64\plugins\sqldrivers 目录下初始只有 sqlite、mimer、odbc、psql(PostgreSQL)驱动。若未配置 Ninja,则在 cmake 指定 Generator 时也可指定 Visual Studio 17 2022,但存在 Bug,参考 cl error D8016 when building oracle oci plugin for sql driver、Command line error D8016: ‘/O2’ and ‘/RTC1’ command-line options are incompatible、[CLion]Command line error D8016: ‘/O2’ and ‘/RTC1’ command-line options are incompatible。这个过程中会构建出qsqlite/qsqloci/qsqlodbc.dll/exp/lib/pdb,并将三个 DLL 和 PDB 文件安装到 D:\Qt\6.8.0\msvc2022_64\plugins\sqldrivers 目录下。其中,CMAKE_BUILD_TYPE 默认为 Release,在 Release 模式下只会构建 DLL、EXP、LIB 而不会构建 PDB(Program Debug Database)。
4. 如果需要 Debug 模式,则在上一步 cmake 时需要指定-DCMAKE_BUILD_TYPE=Debug。此时后续构建会构建出 qsqlited/qsqlocid/qsqlodbcd.dll/exp/ilk/lib/pdb,并将三个 DLL 和 PDB 文件安装到上述目录下。
cmake-build-install
6. 注意:在更新版本后,在使用 SQL Driver 的项目中,除了要重置缓存并重新加载项目以外,如果采用的不是 Qt Creator 而是 JetBrains CLion 等,则还要记得在 Qt 6.8.0 (MSVC 2022 64-bit) 中再次执行

windeployqt --qmldir qml <YourApp>.exe

以免出现 Cannot mix incompatible Qt library 或找不到 DLL 等问题,参考Cannot load QOCI SQL driver even successfully built
。执行后在 build 目录下(对于 CLion 是形如 cmake-build-debug-visual-studio 的目录)的 sqldriver 目录下检查可以找到 qsqlocid.dll 等 DLL 文件,并且修改时间为最新,则部署成功。


http://www.kler.cn/a/379447.html

相关文章:

  • C# 日志框架 NLog、log4net 和 Serilog对比
  • 基于Multisim数控直流稳压电源电路(含仿真和报告)
  • 根据某个字段禁用el-table里的checkbox
  • 轻松入门WordPress:在Ubuntu上搭建本地网站并配置公网访问地址
  • RHCE-SElinux+防火墙
  • UFO:Windows操作系统的具象智能代理
  • No.24 笔记 | WEB安全 - 任意文件包含漏洞 part 6
  • Flutter使用share_plus是提示发现了重复的类
  • 为什么https先非对称加密,然后对称加密?
  • Conmi的正确答案——在Kibana中搜索Elasticsearch的索引
  • CSS--两列网页布局,三列布局和多行多列布局
  • 堆heap的讨论、习题与代码
  • Backtrader-Broker05
  • SpringKafka生产者、消费者消息拦截
  • 算法设计题(树和二叉树)
  • 自然语言处理研究方向在跨语言处理方面有哪些新的创新思路?
  • 【c++日常刷题】两个数字的交集、点击消除、最小花费爬楼梯
  • 架构师备考-软件工程相关补充
  • Android使用scheme方式唤醒处于后台时的App场景
  • Python复习2
  • 笔记-利率学习记录
  • easy-es使用以及Es和MySQL同步
  • Go-Sqlite3学习
  • “格格不入”的星瑞东方曜,燃油市场有麻烦了
  • 进程守护SuperVisord内部的进程定时监测并重启
  • 2024年华为OD机试真题-最小的调整次数-Python-OD统一考试(E卷)