现在的位置: 首页 > 自动控制 > 工业·编程 > 正文

对Qt编译环境的认识

2015-06-23 16:19 工业·编程 ⁄ 共 1520字 ⁄ 字号 暂无评论

简单地讲,Qt其实就是一个C++的类库。配置编译环境,其实就是配置一个C++编译环境,同时将Qt库载入进来。当然Qt还额外提供了自己内部的一些功能,例如界面编辑器(designer)等。网上有很多配置开发环境的文章,多是手把手一步一步讲,非常详细。但是我初学的时候仍会出一些问题,不知道怎么解决。这里对整个编译环境做一个介绍,希望对大家有帮助,在出问题的时候知道从何下手。

编译器与Qt库

Qt是跨平台的库,不论你在哪个平台下使用,都需要一个编译器。windows下如果使用VS2010、VS2012等做编译器,则需要到Qt官网下载对应编译器版本的Qt二进制库文件。换句话说,如果安装了在VS2010版本的Qt二进制库文件,则必须安装VS2010做编译器Qt程序才能编译。如大家所知道的,不同的编译器编译同一段代码生成的库是不能替代使用的,也就是说用VS2008编译出来的Qt库,不能在VS2010做编译器时使用。对于大部分平台的编译器在官网上都能下载(例如windows、linux、android、ios、mac),但在嵌入式Linux平台(也就是我们做毕设需要用的Arm上的Qt程序)Qt没有提供二进制库文件,所以我们首先需要一个交叉编译器(arm-linux-gcc),然后下载Qt的源代码,使用这个针对arm的编译器编译Qt的源代码生成我们需要的Qt库。下面是在Qt creator中编译器、Qt库版本的配置。点击工具(Tools)-->选项(Option)-->构建和运行(Build and run)弹出以下窗口。

如果你已成功安装了一个编译器,但是Qt creator没有自动检测到,你就可以点击添加,将自己需要的编译器路径添加进来。Qt库也是一样,如果没有自动检测到,就可以手动添加。

调试器

有了编译器与对应的Qt库我们就可以编译发布版本的Qt应用程序了,但是不能调试。如果点击debug按钮,可能会提示未发现可用的调试器。所以我们还需要一个调试器,windows下VS做编译器的时候需要CDB来做调试器,MinGw做编译器需要gdb来做编译器。如果你的编译器出了问题,下载并安装你需要的调试器,然后也是在 工具(Tools)-->选项(Option)-->构建和运行(Build and run)中进行配置.

构建套件(Kit)

有了编译器、Qt库、调试器三个东西,我们就可以编译Qt应用程序了,但是我们的电脑上可能有多个版本的Qt库与编译器,我的电脑上就装了MinGw版的Qt4.7和VS2010版的Qt4.8。那么我们编译的时候使用那个版本来进行编译呢。这就要用到构建套件来进行管理。我们可以在工具(Tools)-->选项(Option)-->构建和运行(Build and run)中新建一个构建套件,取名叫“4.7.1(Mingw)”然后分别为他们配置Mingw作为编译器,Qt4.7.1库(Mingw版的),编译器gdb。也可以再添加其他的构建套件,例如4.8.0(VS2010).

 

然后我们就可以为我们的Qt工程选择以个构建套件来进行编译。点击左侧的项目,来选择当前使用的套件,并对套件进行管理。

每一个Qt工程在编译时都必须有至少一个构建套件,当你为你的工程配置了构建套件后,套件就回保存在工程目录下的 xxx.pro.user 文件中,所有你在拿到别人的代码进行编译时多会提示“没找到合适的套件”。那是因为别人在给你代码的时候删除了xxx.pro.user文件,即使别人不删除,别的工程到你电脑上也会提示“无用的构建套件”因为你俩的编译环境很难一模一样。如果你已经为你的工程添加好了构建套件,在切换套件时也可以直接点击左边的来快速进行切换。

给我留言

留言无头像?