Deepin20下用Qt6编译oracle oci驱动插件的过程记录。
-
一、环境
操作系统:Deepin20
开发工具:Qt6.2.0
Qt目录:~/Qt
-
二、安装oracle即时客户端库及开发包
1、下载oracle即时客户端库instantclient及其开发包
下载地址:
https://www.oracle.com/cn/database/technologies/instant-client/linux-x86-64-downloads.html
在一般的x86_64系统上选择安装19版本,此处下载
oracle-instantclient19.12-basic-19.12.0.0.0-1.x86_64.rpm
oracle-instantclient19.12-devel-19.12.0.0.0-1.x86_64.rpm
将安装包放置到目录:
~/install
2、转换rpm为deb格式安装包
Deepin属Debian系linux,不支持rpm安装,需将其转换为deb格式的安装包。
安装转换rpm包为deb包的工具alien
sudo apt install alien
cd ~/install
alien oracle-instantclient*.rpm
生成deb安装包:
oracle-instantclient19.12-basic-19.12.0.0.0-2_amd64.deb
oracle-instantclient19.12-devel-19.12.0.0.0-2_amd64.deb
3、安装
sudo dpkg -i oracle-instantclient*.deb
安装目录:
//程序库目录
/usr/lib/oracle/19.12/client64
//头文件目录
/usr/include/oracle/19.12/client64
-
三、编译oci驱动插件
1、准备构建目录
mkdir ~/build-oci
cd ~/build-oci
2、生成CMAKE文件
qt-cmake -G"Ninja" ~/Qt/6.2.0/Src/qtbase/src/plugins/sqldrivers -DCMAKE_INSTALL_PREFIX=~/Qt/6.2.0/gcc_64 -DOracle_INCLUDE_DIR="/usr/include/oracle/19.12/client64" -DOracle_LIBRARY="/usr/lib/oracle/19.12/client64/lib/libclntsh.so" -DCMAKE_MAKE_PROGRAM="/home/{username}/Qt/Tools/Ninja/ninja"
#注{username}替换成实际用户名
#注{username}替换成实际用户名
3、编译构建
cmake --build .
生成的oci驱动插件包目录为:
~/build/plugins/sqldrivers
4、安装
cmake --install .
oci驱动插件包安装路径为:
~/Qt/6.2.0/gcc_64/lib/plugins/sqldrivers