QT程序本身在windows中进行开发的,移植到linux系统上进行编译后发现了不少问题,需要一一进行修改
1.系统时间修改
首先是系统时间问题
SYSTEMTIME current_date_time; GetLocalTime( ¤t_date_time );
编译无法通过,因为GetLocalTime是Windows API 函数,无法兼容linux,改为
QDateTime datetime = QDateTime::currentDateTime(); QString Timestamp = datetime.toString("yyyy-MM-ddThh:mm:ss.zzz");
即成功
2.moc文件系统函数无法识别
qt_meta_stringdata_AppInit
QT_WARNING_DISABLE_DEPRECATED
这里参考了
https://blog.csdn.net/cumtwys/article/details/105273100
的说法,应该是QT版本不对
命令端输入
qmake -V
查询版本,显示
但是我在windows上编译的是QT5.12.3,虚拟机下的也是5.12.3版本,这个5.6.1是麒麟系统自带的版本
因此需要修改QT的环境变量
这里参考了
https://blog.csdn.net/sasafa/article/details/119890701
首先运行
sudo vim /etc/profile
在里面加入
export QTDIR=/opt/Qt5.12.3/5.12.3
export PATH=$QTDIR/gcc_64/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/gcc_64/lib:$LD_LIBRARY_PATH
修改完毕后保存退出
然后输入
source /etc/profile
更新环境变量
再查询QT版本
该版本恢复正常
再编译程序,还是有相同问题存在,这里需要进入QT项目页面,选择desktop QT 5.12.3 GCC 64bit 进行编译,然后就正常了
目前软件编译通过,但暂时无法运行,剩下的后面继续解决。
原文地址:http://www.cnblogs.com/esther711/p/16906653.html
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,请务用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员!
8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载
声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性