使用QT做跨平台编程

本文探讨了使用QT进行跨平台编程时遇到的常见问题,包括QT工程的lib文件问题、编码问题、文件路径问题和串口端口问题,并提供了相应的解决办法。在解决lib文件问题时,通过使用QT的跨平台标志'-l'进行链接;对于编码问题,利用QTextCodec类转换编码方式;文件路径问题可通过QDir::toNativeSeparators函数解决;串口端口问题则采用条件编译来适应不同平台。

前两周,各种课程设计和实验,各种团队活动占据了我几乎所有的时间,睡觉都没啥时间,更不用说写博客了。

 

今天下午刚刚投出高频课设的PCB,暂时得以清闲,赶紧来写写博客,待我整理完微机原理的课设,后面的课设和实验也该总结了~~

 

QT,是我最近一直在使用的编程框架,非常便捷和强大~不但封装了各种复杂的系统操作,而且非常容易实现跨平台的C++编程。

 

QT的程序,一般来说,只要不是跟系统直接相关的程序,都能极为顺利的实现跨平台,但是事情总有些不顺的地方,偶尔,切换平台以后,它会DT的出现各种错误,这其实是我还不甚了解QT造成的,下面,我还是基于之前的微机原理课设,说说QT中这么几种阻碍跨平台的情况。

 

QT工程的跨平台问题

在Windows下全部编译通过后,移植到Linux下(感谢葆光的帮助),发现出现了文件未找到的错误,经检查,发现是lib文件的问题。

 

 

lib文件是编译过程中生成的中间文件,在Windows下的格式是“xxx.lib”,而我在pro文件中指定lib文件时使用的如下方式:

LIBS    += dian_matrix_libd.lib

后来发现,这样的写法是非常不具有跨平台特性的。可以说是硬编码,因为Linux平台下的lib文件是xxx.o的形式,这样看来,直接指定名称及后缀是非常不可取的。

 

避免方法:使用如下形式:

LIBS    += -ldian_matrix_libd

QT是个跨平台框架,自然会提供全套的跨平台服务,-l前缀是QT工程文件中表征lib文件的标记,加上这个前缀,QT工具会自动寻找对应lib文件,完成跨平台的任务。

 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值