第六天:Ubuntu18.04和GEC6818开发板中安装QT环境,Ubuntu18.04中 QtCreator配置交叉编译(arm-kit工具套件)以及qt简介和第一个程序创建

1、Ubuntu18.04 中QT环境

1)下载安装包 
    官网    https://download.qt.io/archive/qt/ 

    国内镜像服务器  https://mirrors.tuna.tsinghua.edu.cn/qt/archive/qt/

(嫌麻烦的直接看文章最后,安装包都打包好了)

2)安装 
    把下载好的qt安装包(qt-opensource-linux-x64-5.9.1.run)
        拷贝到 共享文件夹下 

    打开虚拟机,进入qt安装包所在的共享文件夹的目录下 
        如: /mnt/hgfs/share/00_软件工具/ 

    用ls命令查看 确认安装包的存在

    安装:
        ./qt-opensource-linux-x64-5.9.1.run     然后按下 回车
        根据安装向导,有下一步则下一步,有skip则skip,直到完成 

        点击完成之后,会自动打开 QtCreator 
        建议--》右键选中QtCreator图标--》添加到收藏夹,下次使用时直接点击即可 


3)配置 
    运行QT项目时,可能会出现如下的错误:
        找不到 -lGL 
    原因:
        QT程序在运行时依赖于系统的某一个库,库名叫GL,连接时需要找到这个库才能正常运行
    解决方案:
        在虚拟机的 /usr/lib/x86_64-linux-gnu/ 目录下 有一个 libGL.so.1.0.0 
        需要在 /usr/lib/ 目录中 给上述库 建立一个软连接,指令如下:
            sudo ln -s /usr/lib/x86_64-linux-gnu/libGL.so.1.0.0  /usr/lib/libGL.so 

2、GEC6818开发板中QT环境

1)把 交叉编译资料包解压,然后进去 把 qt-armlib-591.tar.xz 拷贝到共享文件夹下

2)在虚拟机中 进入共享文件夹,找到上述的压缩包 
    如: cd  /mnt/hgfs/share/00_软件工具/01交叉编译/ 

3)进行解压 到指定目录 /opt/ 
    sudo tar xvf qt-armlib-591.tar.xz  -C  /opt/ 

4)解压完成之后 会在 /opt/ 目录下生成一个文件夹 qt-armlib-591 ,然后进入该目录 
    cd /opt/qt-armlib-591/ 

5)把 /opt/qt-armlib-591/ 目录下的一个压缩包 qt-6818lib.tar.xz 下载到开发板的个人的工作目录 
    在开发板上 
        创建个人的工作目录  
            mkdir /目录名  
            如: mkdir /xuxu
        然后进入个人工作目录 
            如: cd  /xuxu  

        然后 把 qt-6818lib.tar.xz 下载到开发板的个人工作目录下 
            rx下载 或者 u盘拷贝 或者 网络传输 ...    

                ===================
                    u盘拷贝 (只支持部分u盘的文件格式)
                        cd /mnt/udisk/     
                        cp  qt-6818lib.tar.xz  /xuxu/ 

6)进入开发板的QT库目录 
    cd /usr/local/Qt-Embedded-5.7.0/ 
    
    然后清空该目录下的所有文件  
        rm * -rf 

    再解压 qt-6818lib.tar.xz 到QT库目录下 
        tar xvf  /xuxu/qt-6818lib.tar.xz  
        解压完成之后 得到两个文件夹 lib, plugins

7)测试开发板的QT的环境  
    下载测试程序 qt-arm-test 到开发板上 
        rx qt-arm-test 
        chmod 0777 qt-arm-test 
        运行 
            ./qt-arm-test 

3、Ubuntu18.04中 QtCreator配置交叉编译(arm-kit工具套件)

1)打开 QtCreator 

2)找到 QtCreator 的菜单 --》 工具 --》 选项 --》构建与运行 

3)在 构建和运行界面 找到 “编译器”  
    添加--> GCC --> C 
        名称: arm-linux-gcc 
        编译器路径:/usr/local/arm/5.4.0/usr/bin/arm-linux-gcc  

    添加 --> GCC --> C++ 
        名称: arm-linux-g++ 
        编译器路径:/usr/local/arm/5.4.0/usr/bin/arm-linux-g++  

    点击 Apply 

4)在 构建和运行界面 找到 “QT Versions”
    添加,在弹出的对话框中 找到ARM版本的qmake   ( /opt/qt-armlib-591/bin/qmake )
        选中qmake, 点击OPEN ,最后点击 Apply 

5)在 构建和运行界面 找到 “构建套件 kit”
    点击添加,在新出现的界面中 修改如下的4个选项:
        名称: Arm Qt 5.9.1 
        设备类型: 通用Linux设备 
        编译器: 
             C:  arm-linux-gcc 
            C++: arm-linux-g++
        Qt版本: Qt 5.9.1 (qt-armlib-591)

    点击 Apply 

    配置完成!


6)测试 
    创建一个空白的界面程序 ,在创建工程时,选择自己配置的 ARM-kit   (Arm Qt 5.9.1 )

    运行 
        (1)本地部署(在虚拟机里面运行): 直接点击 运行按钮 即可

        (2)部署到开发板上:  点击 运行按钮的上方的那个按钮 
                选择 Arm Qt 5.9.1  --》 Release  
                点击 构建(锤子形状的按钮) 
                然后在到工程所在的同级的目录下 找到对应的工程文件目录 
                    生成的可执行文件名 和 工程名 同名 

4、QT的简介

官网 www.qt.io 

QT 是一个基于C++的 跨平台的 应用程序开发框架 

    跨平台:
        一次编写,到处编译 
        主流的平台都支持,如:Windows,Linux,Android,MacOS ... 

    应用程序:
        主要用于GUI程序开发,也可以用于后台或者底层程序开发 

    开发框架:
        有现成的库可供使用,提高开发效率 

5、第一个QT程序

1)用 QtCreator 创建一个工程 
    欢迎  -->  New Project  --> 其他项目 --> empty qmake project 

2)在空的pro项目中 
    添加文件:  右键点击项目 --》 添加新文件 --》C++  --》 C++ source file --》命名

    添加模块: 
        QT += widgets

3)第一个应用程序 
    #include <QApplication>     //所有的QT程序都必须加载此头文件,用于管理这个应用程序
    #include <QWidget>         //空白的界面

    int main(int argc, char* argv[])
    {
        //实例化一个QApplication类型的对象,用于管理整个应用程序,如接收命令行参数
        QApplication a( argc, argv );

        //实例化一个QWidget空白界面对象w,默认隐藏
        QWidget w;

        //显示界面
        w.show();

        //让应用程序进入事件循环,让界面不退出,并能够接收用户的事件,如:鼠标点击、键盘输入等... 
        a.exec();

        return 0;
    }

点击“运行”  Ctrl + r 

6、QT程序的补充

QT中所有的头文件都是以大写字母Q开头,Q后面的单词首字母也是大写 
    头文件没有后缀名,头文件的名称也是类名称 

所有的QT界面应用程序 都必须包含 QApplication类,用这个类来实例化一个对象,用于管理整个QT项目

QT中的类型 是按功能 划分 模块
    模块很多,但是和界面相关的模块主要用到如下模块:
        core    核心模块,其他的所有模块都依赖于此模块,默认加载 
        gui     界面相关的功能模块,如字体、颜色、风格等,默认加载
        widgets  界面元素(所有能够在界面上看到的控件)都放在此模块中,需要用户自己添加到pro文件中 
                添加方式:
                        QT += widgets
                        QT += core 
                        QT += gui

    每个模块中都包含很多类,widgets模块中最核心的类型就是 QWidget 
        
        QWidget类 有两个基类 和 许多派生类 

            两个基类: 
                QObject  这个是QT层次中 最顶层的基类,它提供了QT最核心的功能:信号与槽 
                QPaintDervice 这也是一个顶层基类,该类以及它的派生类 能够作为绘制设备使用

            它的派生类可以分为两类:
                界面类 
                    QMainWindow 就是包含菜单、工具栏、状态栏的界面 
                    QDialog     对话框 

                控件类
                    菜单、工具栏、状态栏、按钮、文本框、标签、组合框架 ...
                    所有的控件都应该出现在某个界面上

pro文件 
    所有的QT项目中 都必须包含一个pro文件(工程管理文件)
    描述了这个项目中所有的东西(头文件/源文件/界面文件/模块/第三方库/...)


影子构建
    QtCreator在默认情况下 把项目的源码(.h/.cpp/.ui/...) 与 
        中间以及结果(.o/Makefile/xxx ...)文件 分开存放,源码在项目的文件夹下,
        而中间以及结果文件 跟随项目的文件夹, 与项目文件夹在同一个目录中 

            存放中间以及结果文件的文件夹 称为构建目录 ,名称: 
                build-项目名称-编译套件名-模式
                    例如: 
                        build-test2-Arm_Qt_5_9_1-Release
                        build-test2-Desktop_Qt_5_9_1_GCC_64bit-Debug

                build构建目录 可以删除,只需要重新构建即可 都会自动生成
                  如果是从其他地方拷贝过来的项目,建议删除build构建目录,再重新编译

所需要的安装包我都打包好上传资源了,有需要自己下载。
安装包下载
交叉编译下载
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/xqmids99/article/details/133126418