Как правильно скомпилировать Qt5 для arm64 на Ubuntu 22.04?

Есть хост машина, у нее ось Ubuntu 20.04 x64 И есть целевая машина Raspberry Pi 4 на ней стоит Ubuntu 22.04 x64

Код компилируется на хост машине, а программа разворачивается на целевой через ssh.

Вот инфа о хост машине:

    Architecture:                    x86_64
    CPU op-mode(s):                  32-bit, 64-bit
    Byte Order:                      Little Endian
    Address sizes:                   43 bits physical, 48 bits virtual
    CPU(s):                          4
    On-line CPU(s) list:             0-3
    Thread(s) per core:              2
    Core(s) per socket:              2
    Socket(s):                       1
    NUMA node(s):                    1
    Vendor ID:                       AuthenticAMD
    CPU family:                      23
    Model:                           32
    Model name:                      AMD Athlon Silver 3050e with Radeon Graphics
    Stepping:                        1
    Frequency boost:                 enabled
    CPU MHz:                         946.324
    CPU max MHz:                     1400,0000
    CPU min MHz:                     1000,0000
    BogoMIPS:                        2794.78
    Virtualization:                  AMD-V
    L1d cache:                       64 KiB
    L1i cache:                       128 KiB
    L2 cache:                        1 MiB
    L3 cache:                        4 MiB
    NUMA node0 CPU(s):               0-3
    Vulnerability Itlb multihit:     Not affected
    Vulnerability L1tf:              Not affected
    Vulnerability Mds:               Not affected
    Vulnerability Meltdown:          Not affected
    Vulnerability Mmio stale data:   Not affected
    Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled v
                                     ia prctl and seccomp
    Vulnerability Spectre v1:        Mitigation; usercopy/swapgs barriers and __user
                                      pointer sanitization
    Vulnerability Spectre v2:        Mitigation; Retpolines, IBPB conditional, STIBP
                                      always-on, RSB filling
    Vulnerability Srbds:             Not affected
    Vulnerability Tsx async abort:   Not affected
    Flags:                           fpu vme de pse tsc msr pae mce cx8 apic sep mtr
                                     r pge mca cmov pat pse36 clflush mmx fxsr sse s
                                     se2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtsc
                                     p lm constant_tsc rep_good nopl nonstop_tsc cpu
                                     id extd_apicid aperfmperf pni pclmulqdq monitor
                                      ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes 
                                     xsave avx f16c rdrand lahf_lm cmp_legacy svm ex
                                     tapic cr8_legacy abm sse4a misalignsse 3dnowpre
                                     fetch osvw skinit wdt tce topoext perfctr_core 
                                     perfctr_nb bpext perfctr_llc mwaitx cpb hw_psta
                                     te sme ssbd sev ibpb stibp vmmcall fsgsbase bmi
                                     1 avx2 smep bmi2 rdseed adx smap clflushopt sha
                                     _ni xsaveopt xsavec xgetbv1 xsaves clzero irper
                                     f xsaveerptr arat npt lbrv svm_lock nrip_save t
                                     sc_scale vmcb_clean flushbyasid decodeassists p
                                     ausefilter pfthreshold avic v_vmsave_vmload vgi
                                     f overflow_recov succor smca

А вот инфа о целевой машине:

Architecture:            aarch64
  CPU op-mode(s):        32-bit, 64-bit
  Byte Order:            Little Endian
CPU(s):                  4
  On-line CPU(s) list:   0-3
Vendor ID:               ARM
  Model name:            Cortex-A72
    Model:               3
    Thread(s) per core:  1
    Core(s) per cluster: 4
    Socket(s):           -
    Cluster(s):          1
    Stepping:            r0p3
    CPU max MHz:         1800,0000
    CPU min MHz:         600,0000
    BogoMIPS:            108.00
    Flags:               fp asimd evtstrm crc32 cpuid
Caches (sum of all):     
  L1d:                   128 KiB (4 instances)
  L1i:                   192 KiB (4 instances)
  L2:                    1 MiB (1 instance)
Vulnerabilities:         
  Itlb multihit:         Not affected
  L1tf:                  Not affected
  Mds:                   Not affected
  Meltdown:              Not affected
  Spec store bypass:     Vulnerable
  Spectre v1:            Mitigation; __user pointer sanitization
  Spectre v2:            Vulnerable
  Srbds:                 Not affected
  Tsx async abort:       Not affected

Вопросы:

  1. Какой кроссплатформенный компилятор наиболее оптимально использовать для этих целей? (https://releases.linaro.org/components/toolchain/binaries/latest-7/)
  2. Как правильно делать синхронизацию? В большинстве гайдов rsync делается между хостом на Ubuntu и целевой на Raspbian. Какие директории нужно синхронизировать в случае, если обе машины на Ubuntu?
  3. Как правильно делать конфигурацию перед компиляцией Qt? Какие параметры нужно передавать команде config?
  4. Еще в Qt 5.12.12 (последней бесплатной LTS) в папке /mkspecs/devices нет Raspberry Pi 4, только вариации linux-rasp-pi3. Какой девайс тогда выбирать, если целевая машина Raspberry Pi 4?

Ответы (0 шт):