QtXlsx: no such file or directory

在Qt项目中遇到QtXlsx库引用错误,排查发现是qmake版本问题。通过修改qtchooser的default.conf文件,将默认qmake路径改为Qt5.9.8版本,解决了编译冲突,成功编译并运行QtXlsx。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Qt项目,引用了QtXlsx,准备运行,提示报错:

QtXlsx: No such file or directory

 奇怪。按理说,安装QtXlsx的三个步骤都已经执行成功了:

qmake
make
make install

把生成的so库文件拷贝到相关目录也是无效。

换个思路,检查一下qmake:

 发现一点问题:当前qmake使用的是Qt5.12.8, 可能是银河麒麟系统自带的,也可能是我曾经安装过的。但是现在安装的是Qt5.9.8,怎么qmake还在使用5.12.8?

研究了一下qmake的问题,猜测QtXlsx无法识别很可能是由于qmake引用Qt版本问题导致的:

引用QtXlsx库的主程序用的Kit是Qt5.9.8,但是build QtXlsx时用的是系统默认的qmake也就是5.12.8的Qt,这里面估计有些冲突。现在的目标是要让系统默认使用5.9.8的qmake。

折腾一番,参考一篇早期的文章,找到了解决方案:

qmake:Could not find command-not-found database_could not find command-not-found database run sudo_小鹰信息技术服务部的博客-优快云博客

找到如下文件:

/usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf

 打开观察文件内容:

/usr/lib/qt5/bin
/usr/lib/x86_64-linux-gnu

其中第一行的bin目录下面,是有qmake程序的,这是什么时候安装的?搞不清了。

把第一行替换成新安装的Qt 5.9.8中的qmake目录:

/home/zhouyingge1104/Qt5.9.8/5.9.8/gcc_64/bin
/usr/lib/x86_64-linux-gnu

重新测试qmake:

 成功,已经切换到了5.9.8的qmake。

然后重新运行QtXlsx编译的三个步骤:

qmake
make
make install

回到QtCreator中,QtXlsx的引用<>不再报错,正常了:

至此,问题解决,这个周日很充实!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小鹰信息技术服务部

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值