Navigation

    全志在线开发者论坛

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • 在线文档
    • 社区主页

    H616 Tina linux Qt 5.10.1 在 QtCreator 下面无法编译工程

    H/F/TV Series
    3
    14
    5007
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • L
      leoneeyan LV 3 last edited by whycan

      下面是 tina 环境的信息,所有编译之类的全都一个个解决掉了,H616的板子也可以正常跑起来。Qt 5.10.1也完成编译生成对应文件了,在搭建 QtCreator 的时候遇到问题,qmake 一直识别不对,下面是各个路径信息。

      /home/os/h616/linux/h313/prebuilt/gcc/linux-x86/aarch64/toolchain-sunxi-glibc/toolchain/bin/aarch64-openwrt-linux-g++
      
      /home/os/h616/linux/h313/prebuilt/gcc/linux-x86/aarch64/toolchain-sunxi-glibc/toolchain/bin/aarch64-openwrt-linux-gcc
      
      /home/os/h616/linux/h313/out/h616-p2/staging_dir/target/usr/bin/qmake
      

      目前识别 qmake 是下面这个效果。

      微信图片_20230309145039.png

      微信图片_20230309145405.png

      没法识别为 embedded 版本,如果忽略这个,创建工程,会有下面的提示,无法编译。

      微信图片_20230309145505.png

      各位这里是怎么处理的,感谢感谢。。。

      
      s@os-pc:~/h616/linux/h313$ lunch
      
      You're building on Linux
      
      Lunch menu... pick a combo:
           1. h313_p1-tina
           2. h616_p2-tina
      
      Which would you like? [Default h616_p2]: 2
      ============================================
      TINA_BUILD_TOP=/home/os/h616/linux/h313
      TINA_TARGET_ARCH=aarch64
      TARGET_PRODUCT=h616_p2
      TARGET_PLATFORM=h616
      TARGET_BOARD=h616-p2
      TARGET_PLAN=p2
      TARGET_BUILD_VARIANT=tina
      TARGET_BUILD_TYPE=release
      TARGET_KERNEL_VERSION=4.9
      TARGET_UBOOT=u-boot-2018
      TARGET_CHIP=sun50iw9p1
      ============================================
      clean buildserver
      [3] 1803705
      
      whycan 1 Reply Last reply Reply Quote Share 0
      • whycan
        whycan晕哥 LV 9 @leoneeyan last edited by

        @leoneeyan

        out/xxxxxxxx/staging_dir/target/host/bin/qmake

        改用这个 qmake 试一试

        L 1 Reply Last reply Reply Quote Share 0
        • L
          leoneeyan LV 3 @whycan last edited by

          @whycan 一样得效果,之前 usr/bin 下得 qmake 也是我从这里拷贝过去得😀

          whycan 1 Reply Last reply Reply Quote Share 0
          • WhycanService
            WhycanService LV 8 last edited by

            可以试试这个环境,适配了完整的Qt 5.12

            https://hub.docker.com/r/gloomyghost/yuzukichameleon

            L 2 Replies Last reply Reply Quote Share 0
            • whycan
              whycan晕哥 LV 9 @leoneeyan last edited by

              @leoneeyan
              那用 buildroot 使用外部toolchain编译出来的qmake肯定没有问题。

              L 2 Replies Last reply Reply Quote Share 0
              • L
                leoneeyan LV 3 @whycan last edited by

                @whycan 谢谢老大的信息。

                那么 tina linux 这里就基本作废了,对吧?还是说只需要替换 Qt 这一部分即可?

                1 Reply Last reply Reply Quote Share 0
                • L
                  leoneeyan LV 3 @WhycanService last edited by

                  @whycanservice
                  这个是 buildroot 的吗?我看有 8G 多,谢谢了。

                  1 Reply Last reply Reply Quote Share 0
                  • L
                    leoneeyan LV 3 @WhycanService last edited by

                    @whycanservice

                    麻烦问一下,有没有其它的下载方式呢,谢谢了。

                    1 Reply Last reply Reply Quote Share 0
                    • L
                      leoneeyan LV 3 @whycan last edited by

                      @whycan

                      检查了一下这个生成的 qmake 信息,不知道这个对不对,谢谢了。

                      os@os-pc:~/h616/linux/h313/out/h616-p2/compile_dir/target/qt-everywhere-src-5.12.9/ipkg-install/usr/bin$ readelf -Wa qmake | head
                      ELF Header:
                      Magic: 7f 45 4c 46 02 01 01 03 00 00 00 00 00 00 00 00
                      Class: ELF64
                      Data: 2's complement, little endian
                      Version: 1 (current)
                      OS/ABI: UNIX - GNU
                      ABI Version: 0
                      Type: DYN (Position-Independent Executable file)
                      Machine: Advanced Micro Devices X86-64
                      Version: 0x1

                      whycan 1 Reply Last reply Reply Quote Share 0
                      • whycan
                        whycan晕哥 LV 9 @leoneeyan last edited by

                        @leoneeyan
                        qmake 本身应该正常,是目录结构要调整.

                        L 1 Reply Last reply Reply Quote Share 0
                        • L
                          leoneeyan LV 3 @whycan last edited by

                          @whycan

                          这个有什么建议吗,谢谢了。

                          whycan 1 Reply Last reply Reply Quote Share 0
                          • whycan
                            whycan晕哥 LV 9 @leoneeyan last edited by whycan

                            @leoneeyan
                            用 buildroot 编译根文件系统和Qt

                            1 Reply Last reply Reply Quote Share 0
                            • L
                              leoneeyan LV 3 last edited by

                              感谢各位的帮助,我这里终于搞清楚什么原因了,编译之类的都没问题,是 Qt Creator 配置这里有问题了。

                              很奇怪,我当时配置的时候先配置了 Compiler 里面的 GCC 和 G++,由于选错了工具链(Tina Linux 默认用 /home/os/h616/linux/h313/prebuilt/gcc/linux-x86/aarch64/toolchain-sunxi-glibc/toolchain/bin/aarch64-openwrt-linux-gnu-gcc 来编译整个 SDK 包的,但是 Qt 却用的是 /home/os/h616/linux/h313/prebuilt/gcc/linux-x86/arm/toolchain-sunxi-glibc/toolchain/bin/arm-openwrt-linux-gnueabi-gcc)。

                              在选错了工具链的情况下,我选择了正确的 qmake,但是这个时候 qmake 被识别为 x86 desktop 模式,不是正确的 Qt version 5.10.1 for Embedded Linux,而且即使这个时候我更改工具链为正确的路径,qmake 这里也不会变成正常的。

                              无意中把工具链配置删除,qmake 配置也删除,先配置 qmake,然后再配置工具链,结果就正常了。

                              😧

                              1 Reply Last reply Reply Quote Share 1
                              • L
                                leoneeyan LV 3 last edited by

                                又出问题了🤕

                                目前 QtCreator 配置没问题了,结果周末试了一下编译,还是有问题。

                                下面是是配置的图。

                                111.png

                                222.png

                                333.png

                                就很简单的一个创建一个工程,编译后提示问题如下。

                                444.png

                                试了各种配置,还是不行,奇怪了。

                                仔细又梳理了一下 tina linux 的配置,发现 tina linux 的编译在内核用的是 64bit 编译工具,而 rootfs 和里面的所有程序都是 32 bit 编译工具。

                                64Bit:
                                /home/os/h616/linux/h313/prebuilt/gcc/linux-x86/aarch64/toolchain-sunxi-glibc/toolchain/bin/aarch64-openwrt-linux-gnu-g++

                                32Bit:
                                /home/os/h616/linux/h313/prebuilt/gcc/linux-x86/arm/toolchain-sunxi-glibc/toolchain/bin/arm-openwrt-linux-g++

                                从上门的图也可以看出 qmake 是 arm-linux-generic-elf-32bit,正常匹配。

                                make menuconfig 里面也看到选项是匹配的,如下图。

                                555.png

                                大家帮忙再看看。。。😂

                                1 Reply Last reply Reply Quote Share 0
                                • 1 / 1
                                • First post
                                  Last post

                                Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

                                行为准则 | 用户协议 | 隐私权政策