返回首页

qt和qtcreator有什么区别?都是做什么用的?

107 2024-01-30 05:46 admin

下到编译,链接这一层,没什么差别,都是根据参数设置,附加参数调用相应的编译器,链接器等等,最后完成整个程序的构建。差别呢,主要就出在两个方面:(1)参数解析过程;(2)依赖关系的维护和更新,也就是所谓的工程组织形式(工程文件)。VC经过多次变迁后,现在使用vcxproj文件来组织工程,在VS里按F5后,大概过程是这样子的,用msbuild来解析vcxproj,得到构建参数,解决依赖关系,针对源文件启动编译器编译,最后调用链接器链接输出,当然中间还夹杂很多别的过程,这里不一一赘述。QtCreator比较特别,大体上是用pro和pri文件来组织工程,但它本身不内置构建工具,而是通过Qt工具链中的qmake工具,解析pro和pri文件,生成别的构建系统能识别的组织文件,包括make,nmake等等,然后调用相应的构建工具完成构建。至于这些构建系统如何运作的,找相关的资料和文档查查就知道了。多说几句,在构建Qt程序的时候,可能需要几个额外的过程参与,一个是moc生成对象元数据,一个是uic把ui界面转换为c++代码,还有一个是rcc把Qt资源定义文件qrc转化为数据代码。默认情况下,VS是不会给你添加和维护这几个过程的,所以VS的Qt插件就派上用场了,它能自动帮你设置这几个过程。还有,VS在构建Qt工程的时候,插件并不会参与其中,也就是说,在安装有Qt插件的VS里组织的工程,组完后放在没有安装插件的VS下也是可以成功构建的。当然,假如你的依赖都在pro文件里都描述清楚了,用qmake生成vcxproj,然后启动vs来构建工程也是完全可以接受的。最后,Qt4的VS插件已经不再更新了,且VS的AddinAPI也面临退役的风险,在这里,我还是安利下我fork的Qt4插件,修复了一些bug,添加了几个新特性,包括配置对话框resizable,x86和x64平台使用不同的Qt版本,不同VS使用不同的Qt版本,支持2012和2013,最近打算加上2015支持。地址是:

JackyDing/Qt4VSAddin · GitHub

顶一下
(0)
0%
踩一下
(0)
0%
相关评论
我要评论
用户名: 验证码:点击我更换图片

网站地图 (共14个专题56810篇文章)

返回首页