Qt 跨平台开发的一丢丢总结

头图

Qt 跨平台开发


关键字: QtwinlinuxlibMSVC

摘要

最近一直在琢磨Qt跨平台开发的问题,缘由有以下几个,

首先第一个,我们目前开发的软件是应该通用性的软件,所以未来应该大概率是会多平台支持。

第二,软件的特性是属于监控类软件,那么长期稳定运行也是一个重要的指标,虽然现在Windows的稳定性已经很好了,但是Linux可以更胜一筹。

第三,我司目前的主力技术更加精通Linux下的开发,当我们遇到问题是,他们在Windows下的经验不是很多,比如对于崩溃事件的定位,Windows下尝试了好几个工具都不理想,所以他们更希望有Linux下的软件

第四,多点一点技能树也挺好。

第一 \ & /

看到这个是不是很头疼,这是我遇到的第一个问题,直接导致我放弃了第一次移植,虽然之前也是Linux 有过开发经验,但是在基本都是单平台的,要么Windows,要么Linux,那么如果在Windows用的是MinGW套件也好说,主要是们有好几个大牛直接嫌弃MinGW的性能,加上开始项目不是我自己主导,所以我们的编译环境是MSVC套件。这就导致我在移植的时候,更加困难,不过好在之前做过国际化了,把项目中的中文全部替换了,不然更是灾难。说正事。

起因就是我发现我代码使用git在Linux平台拉取后,不分文件丢失,但是重新添加又会好使,这就让我很烦,数百个文件,让小弟处理不放心,主程处理浪费资源。自己处理又不想搞。所以第一次就搁置了。

知道今天,我主导的第二代重构项目要决定必须两个平台同时开进,不得不处理时才发现这个可恶的\ & / Windows下这个好像并不是很敏感,可以混着用,但是到Linux 就不可以了,最终吧pro 和pri中的\替换为/就好是了

第二 神奇{不能换行显示

还是接着聊跨平台,既然都到跨平台了,那在不同平台下,包含的库也是不同的,当我使用一下代码包我的库文件的是时候,还是报错了。具体表现是什么,就是Windows竟然链接到了unix中的库文件,直接包找不到xxxx.lib,能在linux库中只掉.lib库就见鬼了。

win32
{

}
unix:!macx
{
    
}

这个问题我问了GPT,GPT都得懵逼,所以我就直接百度,批量打开,偶然间看到一个大佬说{不能单起一行,和关键字同一行解决,FFFFFFF,学艺不精!

第三 预处理宏

这个没啥好说的,使用宏包一下就可以,只是我看Qt里面有好几个,也知道具体啥区别,目前Windows下使用了Q_OS_WIN


博客签名2021
  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

DreamLife.

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

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

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

打赏作者

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

抵扣说明:

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

余额充值