qt连接达梦数据库_个人编译实战
环境:
windows10、qt5.14.2、dm8
前言
之前已经编译成功过一便了的时候当时c++的编译器使用的是gcc,但是gcc调试时QString等qt的类型始终不方便查看到值,于是想改成msvc编译器,但是之前编译后的驱动加载不上了,然后我利用Windeployqt打包exe是,发现qt的mingw对应的库都没有带d的版本,因此我认为不同编译器编译出来的qt库不能混用。
这里将我的编译成果放在文章上
https://download.csdn.net/download/qq_34572502/91868129?spm=1001.2014.3001.5503
猜测
于是我在想是不是因为当时第一遍编译时系统环境变量把mingw相关库的路径放在前面,导致qmake make等命令使用的依赖的qt库都为mingw的相关库。
开干
注:首先要安装达梦数据库,并配置相关的达梦数据库的路径。
安装qt时勾选源码,保证qt路径下src源码
于是我将系统环境变量进行了调整,将qtmsvc相关的配置放到前面。
将下载的相关源码文件

拷贝到qt目录下${QT_PATH}\${Version}\Src\qtbase\src\plugins\sqldrivers\dm

备份dm.pro
修改dm.pro

利用powershell在dm中打开
执行命令 qmake "DEFINES+=DM64" "CONFIG+=debug_and_release"
这个是64位命令,如果使用32位可以查看readme.txt

构建完成后按照教程是通过vs的命令工具利用nmake命令来编译Debug或者Release版本,但是我的一直报错找不到无法解析外部符号qt相关的类 ,

无奈之下通过QtCreator打开dm.pro项目构建后build就能成功生产,后续查后发现QtCreator用的是jom.exe来代替nmake。
编译完成后拷贝到${QT_PATH}\${Version}\5.14.2\msvc2017_64\plugins\sqldrivers中供打包使用。
有可能打包后达梦数据库还是不能连接,此时就需要利用Dependencies或者AllDllDeps64工具查找是否缺少某些依赖dll,进行查漏补缺。
- MSVC2017连接达梦数据库
操作和上边一样 编译的时候可能会遇到error: msvc-version.conf loaded but QMAKE_MSC_VER isn't set错误
解决办法1 在下面的文件里面添加
# 指定使用 MSVC 2017 编译器版本
QMAKE_MSC_VER = 1899


具体的版本要通过在vs命令行工具内使用cl /?查看版本信息

更多推荐
所有评论(0)