H616 Tina linux Qt 5.10.1 在 QtCreator 下面无法编译工程
-
下面是 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 是下面这个效果。
没法识别为 embedded 版本,如果忽略这个,创建工程,会有下面的提示,无法编译。
各位这里是怎么处理的,感谢感谢。。。
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 一样得效果,之前 usr/bin 下得 qmake 也是我从这里拷贝过去得
-
可以试试这个环境,适配了完整的Qt 5.12
-
@leoneeyan
那用 buildroot 使用外部toolchain编译出来的qmake肯定没有问题。 -
@whycan 谢谢老大的信息。
那么 tina linux 这里就基本作废了,对吧?还是说只需要替换 Qt 这一部分即可?
-
@whycanservice
这个是 buildroot 的吗?我看有 8G 多,谢谢了。 -
麻烦问一下,有没有其它的下载方式呢,谢谢了。
-
检查了一下这个生成的 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 -
@leoneeyan
qmake 本身应该正常,是目录结构要调整. -
这个有什么建议吗,谢谢了。
-
@leoneeyan
用 buildroot 编译根文件系统和Qt -
感谢各位的帮助,我这里终于搞清楚什么原因了,编译之类的都没问题,是 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,然后再配置工具链,结果就正常了。
-
又出问题了
目前 QtCreator 配置没问题了,结果周末试了一下编译,还是有问题。
下面是是配置的图。
就很简单的一个创建一个工程,编译后提示问题如下。
试了各种配置,还是不行,奇怪了。
仔细又梳理了一下 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 里面也看到选项是匹配的,如下图。
大家帮忙再看看。。。
Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号