加了QT += sql依然出现“QSqlDatabase”: No such file or directory,,不知道什么原因

a348730140 2017-01-31 11:42:04
我创建了一个静态库,我勾选了QtSql,pro文件里面也有QT += sql,输入#include <QSqlDatabase>的时候编辑器也显示有这个文件,单独编译这个lib就直接通过了,但是在主程序包含这个lib的头文件就会出现找不到QSqlDatabase的错误,不知道这是什么原因,我版本是5.7.1+msvc,我用QtCreator和VS2015都试了一下,发现都是这种情况,编辑器都检测到包含的文件,路径也是对的,就是编译的时候就出现找不到QSqlDatabase的情况

...全文
9124 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
好久没弄过静态Qt了。记得以前静态编译Qt时,sql必须在库生成时就把postgresql,mysql之类的编译进去,不知道是不是必须这样。
邵林立 2021-01-20
  • 打赏
  • 举报
回复 1
你在dll的 pro 有 Qt +=sql 了,里面include 了 QSqlDatabase ,这个dll被引用到了没有 Qt+=sql 的pro 文件里。报错是引用这个库的类报错了
检查一下你的代码 或者给引用这个库的工程添加 Qt+=sql
qq_42233525 2020-03-14
  • 打赏
  • 举报
回复
有具体操作步骤吗,求解答
finenosora 2018-01-02
  • 打赏
  • 举报
回复 1
引用 7 楼 pjx158 的回复:
我也遇到了这个问题,我把编译出来的那个包全部删除,再重新编译,就OK了。
这个办法好!!!
本子午 2017-09-19
  • 打赏
  • 举报
回复
真的 把原来的包删掉 再编译就好了
pjx158 2017-08-01
  • 打赏
  • 举报
回复
我也遇到了这个问题,我把编译出来的那个包全部删除,再重新编译,就OK了。
handsome_fish 2017-05-19
  • 打赏
  • 举报
回复
我也遇到了同样的问题 还不知道怎么解决
「已注销」 2017-02-04
  • 打赏
  • 举报
回复
引用 1 楼 dell_tx 的回复:
按照楼主的就没有什么问题啊,就是第一句话“我创建了一个静态库,我勾选了QtSql”不太明白??
看起来是没什么问题,但是编译的时候就出现
引用
src\local_storage\local_storage.h:4: error: C1083: 无法打开包括文件: “QSqlDatabase”: No such file or directory
完全不明白为什么会这样,之前出现这种情况我直接把Debug目录删除重新编译就好了,现在是Debug目录都删除了N次了还是这样 不知道还需要添加什么,之前我用QQuickWidget也是这样,单独使用QT += quickwidgets是不行的,还需要QT += qml quick才能够找到QQuickWidget 官方是sql范例可以直接编译通过,但是我按照官方范例里面的内容进行调整,也是出现这种情况,难道是sql不能用在静态库里面?
「已注销」 2017-02-04
  • 打赏
  • 举报
回复
引用 1 楼 dell_tx 的回复:
按照楼主的就没有什么问题啊,就是第一句话“我创建了一个静态库,我勾选了QtSql”不太明白??


「已注销」 2017-02-04
  • 打赏
  • 举报
回复
引用 4 楼 dell_tx 的回复:
[quote=引用 3 楼 a348730140 的回复:] [quote=引用 1 楼 dell_tx 的回复:] 按照楼主的就没有什么问题啊,就是第一句话“我创建了一个静态库,我勾选了QtSql”不太明白??
看起来是没什么问题,但是编译的时候就出现
引用
src\local_storage\local_storage.h:4: error: C1083: 无法打开包括文件: “QSqlDatabase”: No such file or directory
完全不明白为什么会这样,之前出现这种情况我直接把Debug目录删除重新编译就好了,现在是Debug目录都删除了N次了还是这样 不知道还需要添加什么,之前我用QQuickWidget也是这样,单独使用QT += quickwidgets是不行的,还需要QT += qml quick才能够找到QQuickWidget 官方是sql范例可以直接编译通过,但是我按照官方范例里面的内容进行调整,也是出现这种情况,难道是sql不能用在静态库里面?[/quote] 那是不是你项目配置的编译环境有问题?指定一个项目的构建和运行路径试试,,, [/quote] 好吧,有点眉头了,的确是项目配置原因,因为我的这个LocalStorage被很多子库引用,所以只要是想使用这个LocalStorage的子库或者主程序都需要加上sql,否则就会出现找不到的情况.......
  • 打赏
  • 举报
回复
引用 3 楼 a348730140 的回复:
[quote=引用 1 楼 dell_tx 的回复:] 按照楼主的就没有什么问题啊,就是第一句话“我创建了一个静态库,我勾选了QtSql”不太明白??
看起来是没什么问题,但是编译的时候就出现
引用
src\local_storage\local_storage.h:4: error: C1083: 无法打开包括文件: “QSqlDatabase”: No such file or directory
完全不明白为什么会这样,之前出现这种情况我直接把Debug目录删除重新编译就好了,现在是Debug目录都删除了N次了还是这样 不知道还需要添加什么,之前我用QQuickWidget也是这样,单独使用QT += quickwidgets是不行的,还需要QT += qml quick才能够找到QQuickWidget 官方是sql范例可以直接编译通过,但是我按照官方范例里面的内容进行调整,也是出现这种情况,难道是sql不能用在静态库里面?[/quote] 那是不是你项目配置的编译环境有问题?指定一个项目的构建和运行路径试试,,,
  • 打赏
  • 举报
回复
按照楼主的就没有什么问题啊,就是第一句话“我创建了一个静态库,我勾选了QtSql”不太明白??

16,212

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧