QT5中的pro文件中为何要加入”QT += widgets”


在pro文件里写”QT+=widgets”表示引入QtWidget这个module,qmake在生成makefile的时候,会设置好include path 和 lib path,在link时候设置好libs。

QT += widgets包括两部分:
1:Lib,这个是lib的路径和lib文件的文件名。
2:include  , *.h的路径在pro文件里设置,.h的文件名用代码里的#include设定

QT += widgets 貌似可以分开写成(大致是这样):
INCLUDE+= 一串路径  (因为文件名都在代码里以include形式出现,所以这里没必要出现文件名)
LIB+=一串路径 + -l文件名 + -l文件名。。。。

而若仅在源代码里 include <QApplication>仅是引入声明,但是没有lib,所以链接时会出错。
这是由于C++头文件和lib分离的这种设计模式造成的,现代语言基本都采用package管理,用import解决了。

*************************************************************

在pro里 写 qt+=widgets 表示引入 QtWidget这个module,qmake会在帮你生成makefile的时候,设置好include path 和 lib path,在link时候设置好libs。
而仅在源代码里 include <QApplication>仅是引入声明,但是没有lib,所以链接时会出错。

当然,我们可以批评C++这种源自上世纪70年代的头文件和lib分离的设计是过时的不合理的,现代语言基本都采用package管理,用import解决了。
但是我们既然还在用C++,就要接受这种设计,把它搞明白。
另外你说在网上找不到资料,我大胆猜测你是用baidu搜索的,因为用google搜索,这类资料是很多的,比如
The compiler, assembler, linker, loader and process address space tutorial
图文并茂地讲述了编译器 链接器和加载器的工作原理。

  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值