=== QT交叉编译环境 === * 主机环境推荐:Debian 10 x64 bit, 本公司已配置好的QT编译环境 Docker image: [[ftp://drv.nodka.com/arm_download/nodka_docker_qt_build_20230223.tar|QT编译环境Docker]] ### load docker image sudo docker load Option ,找到Kits。 *配置 Qt Versions 点击右侧 add 按钮添加,选择 Qt 环境安装位置中的 qmake 即可 qmake: /usr/local/qt5.12-arm/bin/qmake {{:arm:rk3399:linux:linux_qt-1.png?600|}} *配置 Compilers 点击右侧 add 按钮添加 gcc 和 g++ 交叉编译器的位置 如果主机安装了 crossbuild-essential-arm64,则编译器就在 /usr/bin/ 下 如果使用了第三方的交叉编译器,找到安装位置并添加即可 如果目标平台是 Buildroot ,则需要使用 Buildroot Qt 环境包中的编译器 g++:/usr/bin/aarch64-linux-gnu-g++ {{:arm:rk3399:linux:linux_qt-3.png?600|}} gcc:/usr/bin/aarch64-linux-gnu-gcc {{:arm:rk3399:linux:linux_qt2-2.png?600|}} 为方便调试,配置 Debeggers 和 Devices 用于在线调试: *配置 Debuggers 点击右侧 add 按钮添加 gbd-multiarch: apt install -y gdb-multiarch 检查目标机上是否存在 /usr/bin/gdbserver, 没有的话需要安装:apt install -y gdbserver,没有的话需要安装:apt install -y gdbserver (Buildroot 自带,无需安装) 回到主机的 Qt Creator,点击右侧 add 按钮添加 gdb 选择主机中的 gdb-multiarch : /usr/bin/gdb-multierch {{:arm:rk3399:linux:linux_qt-4.png?600|}} *配置 Devices 设置好设备的 IP 、用户名(root)。为了方便调试,可以在设备上设置静态 IP。 {{:arm:rk3399:linux:linux_qt-5.png?600|}} *配置Kits 将前面设置的配置项添加到 Kits。 如果目标平台是 Ubuntu 系统,这一步也需要添加 sysroot 的路径 {{:arm:rk3399:linux:linux_qt-6.png?600|}} === 高清硬解码 === {{page>:template:temp_Linux_dec}} === Docker === Docker English-Community 支持以下的 Ubuntu 版本: *Xenial 16.04(LTS) *Bionic 18.04(LTS) *Cosmic 18.04 *Disco 19.04 *其他更新的版本... 安装命令如下: curl -fsSL https://get.docker.com | bash -s docker --miror Aliyun 也可以使用国内 daocloud 一键安装命令: curl -sSL https://get.daocloud.io/docker | sh 测试 Docker 是否安装成功,输入以下指令,打印出以下信息则安装成功: sudo docker run hello-world Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world 1b930d010525: Pull complete Digest: sha256:c3b4ada4687bbaa170745b3e4dd8ac3f194ca95b2d0518b417fb47e5879d9b5f Status: Downloaded newer image for hello-world:latest Hello from Docker! This message shows that your installation appears to be working correctly. To generate this message, Docker took the following steps: 1. The Docker client contacted the Docker daemon. 2. The Docker daemon pulled the "hello-world" image from the Docker Hub. (amd64) 3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading. 4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal. To try something more ambitious, you can run an Ubuntu container with: $ docker run -it ubuntu bash Share images, automate workflows, and more with a free Docker ID: https://hub.docker.com/ For more examples and ideas, visit: https://docs.docker.com/get-started/ ===OpenCL=== * 系统已经支持OpenCL,输入命令clinfo即可查看支持详情: {{:arm:rk3399:linux:opencl.png?600|}}