QT是什么原理?如何实现跨平台?

QT是什么原理?如何实现跨平台?,第1张

和java一样,针对每正租铅一种OS平台,QT都有一套对应型哪的底层类库,而接举好口是完全一致的。

因此只要是在QT库上开发的程序,放在任何一种平台下都可以编译运行(前提条件是:程序中没有使用某OS特有的机能)。

也就是说在OS和应用层之间,增加了一个平台层来保证可移植性。

目标:

动态库将 debug 和 release 分别生成到不同目录

上层应用在 debug 和 release 时分别从不同目录依赖动态库,也生成到对应的目录。

按网上搜到的解决方案,修改.pro:

在 windwos 平台 Qt Creator 中运用没有问题。

但是到 Ubuntu 下,就有问题了。

Ubuntu 下,则始终输出到后一个设定的目录,即前一个设定被覆盖了

最终修改为:

补充:

qmake 是将 .pro 工程文件生成 Makefile。如果设置了 CONFIG += debug_and_release,则会同时生成三猛简信份 Makefile:Makefile,Makefile.Release,Makefile.Debug。

make 是根据 Makefile 开始编译,参数可以选择 debug/release/all

相关参枝轮考:咐胡

https://stackoverflow.com/questions/2580934

https://blog.csdn.net/houzijushi/article/details/79876990

应该自己神圆写了一个最简单的Hello程序。同时也就开始使用了一个命令:游槐塌qmake –project 。这明蠢个命令是用来生成QT的工程文件(.pro)的,这个文件是用来设置编译或者链接的变量,以便用qmake生成相对应的Makefile文件。这个文件的基本内容就是:

TEMPLATE = app

TARGET =

DEPENDPATH += .

INCLUDEPATH += .

# Input

SOURCES += main.cpp


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12550335.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存