Qt6.5.3 mingw64 Ninja编译oracle oci驱动

Qt6.5.3 mingw64 编译oracle oci

1.下载oracle install client,主要是basic 和 sdk。

2.将sdk和basic的内容复制到一起,basic中的instantclient_xx_x目录下的内容,sdk的instantclient_xx_xx目录下的内容。

构成如下的目录结构

oracleBSPath/

├── include/ ← 头文件(来自 sdk/include)

├── lib/liboci.a ← MinGW 库

├── oci.dll

└── sdk/ ← 原始目录(可保留,但非必需)

3.将oci.dll生成mingw64支持的.a库

bash 复制代码
	gendef oci.dll  
	dlltool -d oci.def -l liboci.a -D oci.dll
	生成一个liboci.a,这是 MinGW 链接所需的关键文件

4.切换到Qt源码中的路径下,我的路径

c 复制代码
C:\DevelopSoftware\Qt6\6.5.3\Src\qtbase\src\plugins\sqldrivers

执行命令

bash 复制代码
	mkdir build
	cd build
	使用如下命令,具体的可以根据自己的目录修改

执行cmake命令

powershell 复制代码
cmake -G Ninja -DCMAKE_BUILD_TYPE=Debug -DCMAKE_MAKE_PROGRAM="C:/DevelopSoftware/Qt6/Tools/Ninja/ninja.exe" -DCMAKE_C_COMPILER="C:/DevelopSoftware/Qt6/Tools/mingw1120_64/bin/gcc.exe" -DCMAKE_CXX_COMPILER="C:/DevelopSoftware/Qt6/Tools/mingw1120_64/bin/g++.exe" -DCMAKE_PREFIX_PATH="C:/DevelopSoftware/Qt6/6.5.3/mingw_64;C:/DevelopSoftware/Oracle/oracleBSPath/sdk" -DQT_FEATURE_sql_oci=ON  -DQT_FEATURE_sql_mysql=OFF -DQT_FEATURE_sql_psql=OFF -DQT_FEATURE_sql_odbc=OFF -DQT_FEATURE_sql_tds=OFF -DQT_FEATURE_sql_db2=OFF -DQT_FEATURE_sql_sqlite=OFF -DQT_FEATURE_sql_ibase=OFF ../
  1. 执行如下,生成qsqloci.dll
powershell 复制代码
ninja qsqloci
  1. 生成位置在build/plugins/sqldrivers/qsqloci.dll

  2. 复制 qsqloci.dll 到 自己的项目的运行路径下的**/plugins/sqldrivers/**

  3. 复制basic中的dll,oci.dll, oraociei19.dll 到 exe 同目录(最好全部的dll都复制)

相关推荐
xfhuangfu9 分钟前
Oracle中建立到CDB和PDB的连接
数据库·oracle·rpc
小小龙学IT22 分钟前
DuckDB 深度实战:用 C++ 在进程内跑一个「分析型数据库」
数据库·c++
NineData33 分钟前
DTCC 2026 预告|NineData CEO& 创始人叶正盛:面向 AI Agent 的数据库 DevOps 与数据复制实践
数据库·人工智能·数据库开发·devops·ninedata·数据库技术·dtcc
J_bean1 小时前
MySQL 事务是否必须手动开启?
数据库·mysql·数据库事务·自动提交·手动提交
J_bean1 小时前
MySQL InnoDB 如何检测死锁、判定死锁、处理死锁
数据库·mysql·死锁·死锁检测·处理死锁·死锁判定
浪子明X2 小时前
从 MongoDB 文档到关系模型:构建可重跑、可对账的数据迁移流水线
数据库·mongodb·oracle
杜子不疼.2 小时前
国产数据库撑起固井软件自主化:金仓 × 中海油服「海恒 Cemsol」落地解析
数据库
隔窗听雨眠2 小时前
GBase 8s并发控制深度解析:封锁机制、隔离级别与死锁处理全攻略
服务器·数据库·oracle
刀客Doc2 小时前
即时零售不只是多一个渠道,品牌开始重做终端生意
大数据·数据库
就叫飞六吧3 小时前
防抖、幂等、唯一约束三件套 ;
数据库