T507移值Qt

  • 编译器要软连接一下,不然找不着
  • 设置sysroot目录
  • 配置configure和qmake.conf
    • 配置qmake.conf
    • 配置configure
    • 执行myconfigure.sh
  • 移植完成后的结果
  • 配置开发板运行环境脚本,这边官方给的
  • 运行出错解决方法

Qt源码使用的是qt-everywhere-src-5.12.9

编译器要软连接一下,不然找不着

ls.sh脚本文件

ln -s aarch64-linux-gnu-addr2line arm-linux-addr2line
ln -s aarch64-linux-gnu-ar arm-linux-ar
ln -s aarch64-linux-gnu-as arm-linux-as
ln -s aarch64-linux-gnu-c++ arm-linux-c++
ln -s aarch64-linux-gnu-c++filt arm-linux-c++filt
ln -s aarch64-linux-gnu-cpp arm-linux-cpp
ln -s aarch64-linux-gnu-elfedit arm-linux-elfedit
ln -s aarch64-linux-gnu-ct-ng.config arm-linux-ct-ng.config
ln -s aarch64-linux-gnu-g++ arm-linux-g++
ln -s aarch64-linux-gnu-gcc arm-linux-gcc
ln -s aarch64-linux-gnu-gcc-ar arm-linux-gcc-ar
ln -s aarch64-linux-gnu-gcc-nm arm-linux-gcc-nm
ln -s aarch64-linux-gnu-gcc-ranlib arm-linux-gcc-ranlib
ln -s aarch64-linux-gnu-gcov arm-linux-gcov
ln -s aarch64-linux-gnu-gdb arm-linux-gdb
ln -s aarch64-linux-gnu-gfortran arm-linux-gfortran
ln -s aarch64-linux-gnu-gprof arm-linux-gprof
ln -s aarch64-linux-gnu-ld arm-linux-ld
ln -s aarch64-linux-gnu-ldd arm-linux-ldd
ln -s aarch64-linux-gnu-nm arm-linux-nm
ln -s aarch64-linux-gnu-objcopy arm-linux-objcopy
ln -s aarch64-linux-gnu-objdump arm-linux-objdump
ln -s aarch64-linux-gnu-pkg-config arm-linux-pkg-config
ln -s aarch64-linux-gnu-pkg-config-real arm-linux-pkg-config-real
ln -s aarch64-linux-gnu-ranlib arm-linux-ranlib
ln -s aarch64-linux-gnu-readelf arm-linux-readelf
ln -s aarch64-linux-gnu-size arm-linux-size
ln -s aarch64-linux-gnu-strings arm-linux-strings
ln -s aarch64-linux-gnu-strip arm-linux-strip
-rwxr-xr-x 1 11827 9000 1001040 Jan 22  2019 aarch64-linux-gnu-addr2line
-rwxr-xr-x 1 11827 9000 1029624 Jan 22  2019 aarch64-linux-gnu-ar
-rwxr-xr-x 1 11827 9000 1697824 Jan 22  2019 aarch64-linux-gnu-as
-rwxr-xr-x 1 11827 9000  981408 Jan 22  2019 aarch64-linux-gnu-c++
-rwxr-xr-x 1 11827 9000  996528 Jan 22  2019 aarch64-linux-gnu-c++filt
-rwxr-xr-x 1 11827 9000  981408 Jan 22  2019 aarch64-linux-gnu-cpp
-rwxr-xr-x 1 11827 9000 2969744 Jan 22  2019 aarch64-linux-gnu-dwp
-rwxr-xr-x 1 11827 9000   31392 Jan 22  2019 aarch64-linux-gnu-elfedit
-rwxr-xr-x 1 11827 9000  981408 Jan 22  2019 aarch64-linux-gnu-g++
-rwxr-xr-x 1 11827 9000  981408 Jan 22  2019 aarch64-linux-gnu-gcc
-rwxr-xr-x 1 11827 9000  981408 Jan 22  2019 aarch64-linux-gnu-gcc-7.4.1
-rwxr-xr-x 1 11827 9000   26984 Jan 22  2019 aarch64-linux-gnu-gcc-ar
-rwxr-xr-x 1 11827 9000   26984 Jan 22  2019 aarch64-linux-gnu-gcc-nm
-rwxr-xr-x 1 11827 9000   26984 Jan 22  2019 aarch64-linux-gnu-gcc-ranlib
-rwxr-xr-x 1 11827 9000  593472 Jan 22  2019 aarch64-linux-gnu-gcov
-rwxr-xr-x 1 11827 9000  486872 Jan 22  2019 aarch64-linux-gnu-gcov-dump
-rwxr-xr-x 1 11827 9000  507416 Jan 22  2019 aarch64-linux-gnu-gcov-tool
-rwxr-xr-x 1 11827 9000 7100256 Jan 22  2019 aarch64-linux-gnu-gdb
-rwxr-xr-x 1 11827 9000    3270 Jan 22  2019 aarch64-linux-gnu-gdb-add-index
-rwxr-xr-x 1 11827 9000  981408 Jan 22  2019 aarch64-linux-gnu-gfortran
-rwxr-xr-x 1 11827 9000 1067856 Jan 22  2019 aarch64-linux-gnu-gprof
-rwxr-xr-x 1 11827 9000 2123712 Jan 22  2019 aarch64-linux-gnu-ld
-rwxr-xr-x 1 11827 9000 2123712 Jan 22  2019 aarch64-linux-gnu-ld.bfd
-rwxr-xr-x 1 11827 9000 5141744 Jan 22  2019 aarch64-linux-gnu-ld.gold
-rwxr-xr-x 1 11827 9000 1014032 Jan 22  2019 aarch64-linux-gnu-nm
-rwxr-xr-x 1 11827 9000 1193200 Jan 22  2019 aarch64-linux-gnu-objcopy
-rwxr-xr-x 1 11827 9000 1900528 Jan 22  2019 aarch64-linux-gnu-objdump
-rwxr-xr-x 1 11827 9000 1029624 Jan 22  2019 aarch64-linux-gnu-ranlib
-rwxr-xr-x 1 11827 9000  522016 Jan 22  2019 aarch64-linux-gnu-readelf
-rwxr-xr-x 1 11827 9000 1000912 Jan 22  2019 aarch64-linux-gnu-size
-rwxr-xr-x 1 11827 9000 1001040 Jan 22  2019 aarch64-linux-gnu-strings
-rwxr-xr-x 1 11827 9000 1193200 Jan 22  2019 aarch64-linux-gnu-strip
lrwxrwxrwx 1 root  root      27 Jun  7 19:02 arm-linux-addr2line -> aarch64-linux-gnu-addr2line
lrwxrwxrwx 1 root  root      20 Jun  7 19:02 arm-linux-ar -> aarch64-linux-gnu-ar
lrwxrwxrwx 1 root  root      20 Jun  7 19:02 arm-linux-as -> aarch64-linux-gnu-as
lrwxrwxrwx 1 root  root      21 Jun  7 19:02 arm-linux-c++ -> aarch64-linux-gnu-c++
lrwxrwxrwx 1 root  root      25 Jun  7 19:02 arm-linux-c++filt -> aarch64-linux-gnu-c++filt
lrwxrwxrwx 1 root  root      21 Jun  7 19:02 arm-linux-cpp -> aarch64-linux-gnu-cpp
lrwxrwxrwx 1 root  root      30 Jun  7 19:02 arm-linux-ct-ng.config -> aarch64-linux-gnu-ct-ng.config
lrwxrwxrwx 1 root  root      25 Jun  7 19:02 arm-linux-elfedit -> aarch64-linux-gnu-elfedit
lrwxrwxrwx 1 root  root      21 Jun  7 19:02 arm-linux-g++ -> aarch64-linux-gnu-g++
lrwxrwxrwx 1 root  root      21 Jun  7 19:02 arm-linux-gcc -> aarch64-linux-gnu-gcc
lrwxrwxrwx 1 root  root      24 Jun  7 19:02 arm-linux-gcc-ar -> aarch64-linux-gnu-gcc-ar
lrwxrwxrwx 1 root  root      24 Jun  7 19:02 arm-linux-gcc-nm -> aarch64-linux-gnu-gcc-nm
lrwxrwxrwx 1 root  root      28 Jun  7 19:02 arm-linux-gcc-ranlib -> aarch64-linux-gnu-gcc-ranlib
lrwxrwxrwx 1 root  root      22 Jun  7 19:02 arm-linux-gcov -> aarch64-linux-gnu-gcov
lrwxrwxrwx 1 root  root      21 Jun  7 19:02 arm-linux-gdb -> aarch64-linux-gnu-gdb
lrwxrwxrwx 1 root  root      26 Jun  7 19:02 arm-linux-gfortran -> aarch64-linux-gnu-gfortran
lrwxrwxrwx 1 root  root      23 Jun  7 19:02 arm-linux-gprof -> aarch64-linux-gnu-gprof
lrwxrwxrwx 1 root  root      20 Jun  7 19:02 arm-linux-ld -> aarch64-linux-gnu-ld
lrwxrwxrwx 1 root  root      21 Jun  7 19:02 arm-linux-ldd -> aarch64-linux-gnu-ldd
lrwxrwxrwx 1 root  root      20 Jun  7 19:02 arm-linux-nm -> aarch64-linux-gnu-nm
lrwxrwxrwx 1 root  root      25 Jun  7 19:02 arm-linux-objcopy -> aarch64-linux-gnu-objcopy
lrwxrwxrwx 1 root  root      25 Jun  7 19:02 arm-linux-objdump -> aarch64-linux-gnu-objdump
lrwxrwxrwx 1 root  root      28 Jun  7 19:02 arm-linux-pkg-config -> aarch64-linux-gnu-pkg-config
lrwxrwxrwx 1 root  root      33 Jun  7 19:02 arm-linux-pkg-config-real -> aarch64-linux-gnu-pkg-config-real
lrwxrwxrwx 1 root  root      24 Jun  7 19:02 arm-linux-ranlib -> aarch64-linux-gnu-ranlib
lrwxrwxrwx 1 root  root      25 Jun  7 19:02 arm-linux-readelf -> aarch64-linux-gnu-readelf
lrwxrwxrwx 1 root  root      22 Jun  7 19:02 arm-linux-size -> aarch64-linux-gnu-size
lrwxrwxrwx 1 root  root      25 Jun  7 19:02 arm-linux-strings -> aarch64-linux-gnu-strings
lrwxrwxrwx 1 root  root      23 Jun  7 19:02 arm-linux-strip -> aarch64-linux-gnu-strip
-rwxr-xr-x 1 root  root    1419 Jun  7 19:02 ln.sh

设置sysroot目录

这个目录包含的移植需要的OpenGL的库,目录来着内核源码
t507-linux/out/t507/demo2.0/longan/buildroot/host/aarch64-buildroot-linux-gnu
将该文件夹放到usr目录aarch64-buildroot-linux-gnu,实际上放哪里都行 只要指定路径

root@yyc-virtual-machine:/home/mywork/T507/t507-linux# ls /usr/
aarch64-buildroot-linux-gnu  bin  games  include  lib  lib32  lib64  libexec  libx32  local  sbin  share  src
root@yyc-virtual-machine:/home/mywork/T507/t507-linux#

里面的头文件和库文件包含

root@yyc-virtual-machine:/home/mywork/T507/qt-everywhere-src-5.12.9# ls /usr/aarch64-buildroot-linux-gnu/sysroot/usr/include/
af_vfs.h     com_err.h       expat_external.h  gmp.h           libmount                ncurses.h   paths.h         rpc            stdlib.h     unctrl.h
aio.h        complex.h       expat.h           gnu             libnetfilter_conntrack  neon        pcap            rpcsvc         string.h     unistd.h
aliases.h    cpio.h          ext2fs            gnu-versions.h  libnfnetlink            net         pcap-bpf.h      samplerate.h   strings.h    ustat.h
alloca.h     crypt.h         fcntl.h           gpg-error.h     libnl3                  netash      pcap.h          sched.h        stropts.h    utime.h
alsa         ctype.h         features.h        gpgrt.h         libpng16                netatalk    pcap-namedb.h   scsi           sys          utmp.h
ao           curses.h        fenv.h            grp.h           libusb-1.0              netax25     pixman-1        search.h       syscall.h    utmpx.h
a.out.h      dhcpctl         fmtmsg.h          gshadow.h       limits.h                netdb.h     pngconf.h       semaphore.h    sysexits.h   uuid
argp.h       dirent.h        fnmatch.h         iconv.h         link.h                  neteconet   png.h           setjmp.h       syslog.h     values.h
argz.h       dlfcn.h         fontconfig        id3tag.h        linux                   netinet     pnglibconf.h    sgtty.h        taglib       video
ar.h         drm             form.h            ieee754.h       locale.h                netipx      poll.h          shadow.h       tar.h        vorbis
arpa         dvdcss          fpu_control.h     ifaddrs.h       ltdl.h                  netiucv     pppd            signal.h       termcap.h    vulkan
asm          e2p             freetype2         inttypes.h      mad.h                   netpacket   printf.h        sndfile.h      term.h       wait.h
asm-generic  EGL             fstab.h           isc-dhcp        malloc.h                netrom      proc_service.h  sndfile.hh     termio.h     wchar.h
assert.h     elf.h           fts.h             iwlib.h         math.h                  netrose     protocols       sound          termios.h    wctype.h
audiofile.h  endian.h        ftw.h             KHR             mcheck.h                nettle      pthread.h       spawn.h        tgmath.h     wireless.h
aupvlist.h   envz.h          _G_config.h       langinfo.h      memory.h                nfs         pty.h           speex          thread_db.h  wordexp.h
bits         err.h           gconv.h           lastlog.h       menu.h                  nl_types.h  pwd.h           spirv          time.h       xen
blkid        errno.h         gcrypt.h          libgen.h        misc                    nss.h       rdma            ss             tinyalsa     xlocale.h
byteswap.h   error.h         getopt.h          libintl.h       mntent.h                obstack.h   readline        stab.h         ttyent.h     xtables.h
bzlib.h      et              GLES              libio.h         monetary.h              ogg         re_comp.h       stdc-predef.h  uapi         xtables-version.h
cairo        eti.h           GLES2             libiptc         mqueue.h                omapip      regex.h         stdint.h       uchar.h      zconf.h
CL           execinfo.h      GLES3             libltdl         mtd                     openssl     regexp.h        stdio_ext.h    ucontext.h   zlib.h
CL_HPP       expat_config.h  glob.h            libmnl          ncurses_dll.h           panel.h     resolv.h        stdio.h        ulimit.h
root@yyc-virtual-machine:/home/mywork/T507/qt-everywhere-src-5.12.9# ls /usr/aarch64-buildroot-linux-gnu/sysroot/usr/lib/
ao                     libdl.a                  libgpg-error.la         libm.so                          libnss_nisplus.so       libssl.so.1.1
audit                  libdl.so                 libgpg-error.so         libncurses.so                    libnss_nis.so           libss.so
ckport                 libdvdcss.la             libgpg-error.so.0       libncurses.so.6                  libogg.la               libss.so.2
crt1.o                 libdvdcss.so             libgpg-error.so.0.25.0  libncurses.so.6.1                libogg.so               libss.so.2.0
crti.o                 libdvdcss.so.2           libhistory.so           libneon.la                       libogg.so.0             libtag_c.so
crtn.o                 libdvdcss.so.2.2.0       libhistory.so.8         libneon.so                       libogg.so.0.8.3         libtag_c.so.0
engines-1.1            libe2p.a                 libhistory.so.8.0       libneon.so.27                    libomapi.a              libtag_c.so.0.0.0
gconv                  libe2p.so                libhogweed.so           libneon.so.27.3.2                libpanel.so             libtag.so
gcrt1.o                libe2p.so.2              libhogweed.so.4         libnetfilter_conntrack.la        libpanel.so.6           libtag.so.1
libanl.a               libe2p.so.2.3            libhogweed.so.4.5       libnetfilter_conntrack.so        libpanel.so.6.1         libtag.so.1.17.0
libanl.so              libEGL.so                libid3tag.la            libnetfilter_conntrack.so.3      libpcap.a               libthread_db.so
libao.la               libEGL.so.1              libid3tag.so            libnetfilter_conntrack.so.3.7.0  libpcap.so              libtinyalsa.a
libao.so               libEGL.so.1.4            libid3tag.so.0          libnettle.so                     libpcap.so.1            libtinyalsa.so
libao.so.4             libEGL.so.1.4.0          libid3tag.so.0.3.0      libnettle.so.6                   libpcap.so.1.9.0        libtinyalsa.so.1
libao.so.4.1.0         libexpat.la              libieee.a               libnettle.so.6.5                 libpixman-1.la          libtinyalsa.so.1.1.1
libasound.la           libexpat.so              libinproctrace.so       libnfnetlink.la                  libpixman-1.so          libusb-1.0.la
libasound.so           libexpat.so.1            libip4tc.la             libnfnetlink.so                  libpixman-1.so.0        libusb-1.0.so
libasound.so.2         libexpat.so.1.6.8        libip4tc.so             libnfnetlink.so.0                libpixman-1.so.0.34.0   libusb-1.0.so.0
libasound.so.2.0.0     libext2fs.a              libip4tc.so.0           libnfnetlink.so.0.2.0            libpng16.la             libusb-1.0.so.0.1.0
libaudiofile.la        libext2fs.so             libip4tc.so.0.1.0       libnl-3.la                       libpng16.so             libutil.a
libaudiofile.so        libext2fs.so.2           libip6tc.la             libnl-3.so                       libpng16.so.16          libutil.so
libaudiofile.so.1      libext2fs.so.2.4         libip6tc.so             libnl-3.so.200                   libpng16.so.16.36.0     libuuid.la
libaudiofile.so.1.0.0  libfontconfig.la         libip6tc.so.0           libnl-3.so.200.26.0              libpng.la               libuuid.so
libblkid.la            libfontconfig.so         libip6tc.so.0.1.0       libnl-genl-3.la                  libpng.so               libvorbisenc.la
libblkid.so            libfontconfig.so.1       libiptc.la              libnl-genl-3.so                  libpthread.a            libvorbisenc.so
libBrokenLocale.a      libfontconfig.so.1.12.0  libiptc.so              libnl-genl-3.so.200              libpthread_nonshared.a  libvorbisenc.so.2
libBrokenLocale.so     libform.so               libiptc.so.0            libnl-genl-3.so.200.26.0         libpthread.so           libvorbisenc.so.2.0.11
libbz2.a               libform.so.6             libiptc.so.0.0.0        libnl-idiag-3.la                 libreadline.so          libvorbisfile.la
libbz2.so              libform.so.6.1           libltdl.la              libnl-idiag-3.so                 libreadline.so.8        libvorbisfile.so
libbz2.so.1.0          libfreetype.la           libltdl.so              libnl-idiag-3.so.200             libreadline.so.8.0      libvorbisfile.so.3
libbz2.so.1.0.6        libfreetype.so           libltdl.so.7            libnl-idiag-3.so.200.26.0        libresolv.a             libvorbisfile.so.3.3.7
libc.a                 libfreetype.so.6         libltdl.so.7.3.1        libnl-nf-3.la                    libresolv.so            libvorbis.la
libcairo.la            libfreetype.so.6.16.1    libm.a                  libnl-nf-3.so                    librpcsvc.a             libvorbis.so
libcairo.so            libg.a                   libmad.la               libnl-nf-3.so.200                librt.a                 libvorbis.so.0
libcairo.so.2          libgcrypt.la             libmad.so               libnl-nf-3.so.200.26.0           librt.so                libvorbis.so.0.4.8
libcairo.so.2.11512.0  libgcrypt.so             libmad.so.0             libnl-route-3.la                 libsamplerate.la        libxtables.la
libcidn.so             libgcrypt.so.20          libmad.so.0.2.1         libnl-route-3.so                 libsamplerate.so        libxtables.so
libc_nonshared.a       libgcrypt.so.20.2.4      libmali.so              libnl-route-3.so.200             libsamplerate.so.0      libxtables.so.12
libcom_err.a           libGLESv1_CM.so          libmali.so.0            libnl-route-3.so.200.26.0        libsamplerate.so.0.1.8  libxtables.so.12.2.0
libcom_err.so          libGLESv1_CM.so.1        libmali.so.0.20.0       libnl-xfrm-3.la                  libsndfile.la           libz.so
libcom_err.so.2        libGLESv1_CM.so.1.1      libmcheck.a             libnl-xfrm-3.so                  libsndfile.so           libz.so.1
libcom_err.so.2.1      libGLESv1_CM.so.1.1.0    libmenu.so              libnl-xfrm-3.so.200              libsndfile.so.1         libz.so.1.2.11
libcrypt.a             libGLESv2.so             libmenu.so.6            libnl-xfrm-3.so.200.26.0         libsndfile.so.1.0.28    Mcrt1.o
libcrypto.a            libGLESv2.so.2           libmenu.so.6.1          libnsl.a                         libspeex.la             pkgconfig
libcrypto.so           libGLESv2.so.2.1         libmnl.la               libnsl.so                        libspeex.so             Scrt1.o
libcrypto.so.1.1       libGLESv2.so.2.1.0       libmnl.so               libnss_compat.so                 libspeex.so.1           terminfo
libcrypt.so            libgmp.la                libmnl.so.0             libnss_db.so                     libspeex.so.1.5.1       xtables
libc.so                libgmp.so                libmnl.so.0.2.0         libnss_dns.so                    libss.a
libcurses.so           libgmp.so.10             libmount.la             libnss_files.so                  libssl.a
libdhcpctl.a           libgmp.so.10.3.2         libmount.so             libnss_hesiod.so                 libssl.so

配置configure和qmake.conf

配置qmake.conf

打开qt-everywhere-src-5.12.9/qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf
将内容设置为

#
# qmake configuration for building with arm-linux-gnueabi-g++
#MAKEFILE_GENERATOR      = UNIX
CONFIG                 += incremental
QMAKE_INCREMENTAL_STYLE = sublibinclude(../common/linux.conf)
include(../common/gcc-base-unix.conf)
include(../common/g++-unix.conf)GPU_VIV_SDK = /usr/aarch64-buildroot-linux-gnu/sysroot
QMAKE_INCDIR_OPENGL = $$GPU_VIV_SDK/usr/include
QMAKE_LIBDIR_OPENGL = $$GPU_VIV_SDK/usr/libQMAKE_INCDIR_OPENGL_ES2 = $$QMAKE_INCDIR_OPENGL
QMAKE_LIBDIR_OPENGL_ES2 = $$QMAKE_LIBDIR_OPENGL
QMAKE_INCDIR_EGL        = $$QMAKE_INCDIR_OPENGL
QMAKE_LIBDIR_EGL        = $$QMAKE_LIBDIR_OPENGL
QMAKE_INCDIR_OPENVG     =$$QMAKE_INCDIR_OPENGL
QMAKE_LIBDIR_OPENVG     = $$QMAKE_LIBDIR_OPENGL
#看到别人移植会有下面的链接配置,但实际我移植过程中配置链接configure会配置不过,所以注释了
#QMAKE_LIBS_OPENGL_ES1       += -lGLESv1_CM -lEGL -lGAL
#QMAKE_LIBS_OPENGL_ES1CL     += -lGLES_CL -lEGL -lGAL
#QMAKE_LIBS_EGL         += -lEGL -lGAL
#QMAKE_LIBS_OPENGL_ES2  += -lGLESv2 -lEGL -lGAL
#QMAKE_LIBS_OPENVG      += -lOpenVG -lEGL -lGAL
# modifications to g++.conf
QMAKE_CC                = aarch64-linux-gnu-gcc
QMAKE_CXX               = aarch64-linux-gnu-g++
QMAKE_LINK              = aarch64-linux-gnu-g++
QMAKE_LINK_SHLIB        = aarch64-linux-gnu-g++
QMAKE_CFLAGS +=-DEGL_FBDEV -std=c++11
QMAKE_CXXFLAGS +=-DEGL_FBDEV -std=c++11 # modifications to linux.conf
QMAKE_AR                = aarch64-linux-gnu-ar cqs
QMAKE_OBJCOPY           = aarch64-linux-gnu-objcopy
QMAKE_NM                = aarch64-linux-gnu-nm -P
QMAKE_STRIP             = aarch64-linux-gnu-strip
#QMAKE_INCDIR_OPENGL_ES2 += $$QT_GPU_INC
#QMAKE_LIBDIR_OPENGL_ES2 += $$QT_GPU_LIB
#QMAKE_LIBS_OPENGL_ES2 += -lGLESv2
#
load(qt_config)

配置configure

安装目录-prefix /opt/qt-5.12-armT507 \指定的是/opt/qt-5.12-armT507
但是指定了-sysroot $SYSROOT \,安装目录就还相对与sysroot 的根目录安装
绝对路劲对应的就是/usr/aarch64-buildroot-linux-gnu/sysroot/opt/qt-5.12-armT507
将下面的内容写进myconfigure.sh,执行myconfigure.sh配置configure

#!/bin/sh
PWD=`pwd`
QT_SRC_DIR=$PWDexport SYSROOT=/usr/aarch64-buildroot-linux-gnu/sysroot
export CROSS_COMPILE=/opt/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-
export CPLUS_INCLUDE_PATH=$PWD/qtbase/src/3rdparty/angle/include:$CPLUS_INCLUDE_PATH
HOST=aarch64-linux-gnu$QT_SRC_DIR/configure \-opensource \-confirm-license \-prefix /opt/qt-5.12-armT507  \-xplatform linux-arm-gnueabi-g++ \-device-option CROSS_COMPILE=$CROSS_COMPILE \-sysroot $SYSROOT \-R /usr/lib \-no-strip \-c++std c++11 \-shared \-nomake examples \-accessibility \-no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci \-no-sql-odbc -no-sql-psql -no-sql-sqlite2  -no-sql-tds \-no-sql-sqlite -plugin-sql-sqlite \-no-qml-debug \-no-sse2 \-no-sse3 \-no-ssse3 \-no-sse4.1 \-no-sse4.2 \-no-avx \-no-avx2 \-no-mips_dsp \-no-mips_dspr2 \-qt-zlib \-no-journald \-qt-libpng \-qt-libjpeg \-qt-freetype \-qt-harfbuzz \-no-openssl \-no-xcb-xlib \-no-glib \-no-pulseaudio \-alsa \-gui \-widgets \-v \-optimized-qmake \-no-cups \-no-iconv \-evdev \-no-icu \-no-fontconfig \-no-strip \-pch \-dbus \-no-use-gold-linker \-no-directfb \-linuxfb \-no-kms \-opengl \-opengl es2 \-qpa eglfs \-no-system-proxies \-no-slog2 \-no-pps \-no-imf \-no-lgmon \-no-tslib

执行myconfigure.sh

得到配置结果,要把EGLFS配置为yse

执行myconfigure.sh之后生成Makefile文件

root@yyc-virtual-machine:/home/mywork/T507/qt-everywhere-src-5.12.9# ls
_clang-format   config.tests    LICENSE.GPLv3                 qtactiveqt       qtdeclarative       qtmultimedia      qtscript      qttools            qtwebsockets
coin            configure       LICENSE.LGPLv21               qtandroidextras  qtdoc               qtnetworkauth     qtscxml       qttranslations     qtwebview
config.cache    configure.bat   LICENSE.LGPLv3                qtbase           qtgamepad           qt.pro            qtsensors     qtvirtualkeyboard  qtwinextras
config.log      configure.json  LICENSE.QT-LICENSE-AGREEMENT  qtcanvas3d       qtgraphicaleffects  qtpurchasing      qtserialbus   qtwayland          qtx11extras
config.opt      gnuwin32        Makefile                      qtcharts         qtimageformats      qtquickcontrols   qtserialport  qtwebchannel       qtxmlpatterns
config.status   LICENSE.FDL     myconfigure.sh                qtconnectivity   qtlocation          qtquickcontrols2  qtspeech      qtwebengine        README
config.summary  LICENSE.GPLv2   qt3d                          qtdatavis3d      qtmacextras         qtremoteobjects   qtsvg         qtwebglplugin
root@yyc-virtual-machine:/home/mywork/T507/qt-everywhere-src-5.12.9#

然后make -j8,make出现问题
== /cstdlib:75:15: 致命错误: stdlib.h:没有那个文件或目录 #include_next <stdlib.h> 类似错误 ==
解决方法参考 GCC遇到的一些问题
make 通过后执行make install 会安装到-prefix /opt/qt-5.12-armT507 这个安装目录会根据是否指定–sysroot发生改变 参考上面的说明

移植完成后的结果

root@yyc-virtual-machine:/usr/aarch64-buildroot-linux-gnu/sysroot/opt/qt-5.12-armT507# ls
bin  doc  include  lib  mkspecs  plugins  qml  translations

ls plugins/platforms/会看到libqeglfs.so,是eglfs的驱动

root@yyc-virtual-machine:/usr/aarch64-buildroot-linux-gnu/sysroot/opt/qt-5.12-armT507# ls plugins/platforms/
libqeglfs.so  libqlinuxfb.so  libqminimalegl.so  libqminimal.so  libqoffscreen.so  libqvnc.so  libqwebgl.so

用file指令查看运行平台,是ARM aarch64, version 1
,到这里就移植完成了

root@yyc-virtual-machine:/usr/aarch64-buildroot-linux-gnu/sysroot/opt/qt-5.12-armT507# file plugins/platforms/libqeglfs.so
plugins/platforms/libqeglfs.so: ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=6a8f54db99a73ccb4c1e2a49936e21ebc949685d, with debug_info, not stripped

配置开发板运行环境脚本,这边官方给的

export QTDIR=/usr/local/Qt_5.12.5 这个是开放默认自带的,
实际自己重新移值的应该放到/usr/aarch64-buildroot-linux-gnu/sysroot/opt/qt-5.12-armT507这个目录,不然我发现是有问题的,板子自带的路劲能用就没管那么多了,重新移植是为了自己重新编译qt程序

export  QTDIR=/usr/local/Qt_5.12.5
if [ -d $QTDIR ];then#source /dbusrun.sh#dbus-uuidgen > /etc/machine-id#export DBUS_SESSION_BUS_ADDRESS=`cat /tmp/dbusaddr`export  QT_ROOT=$QTDIRexport  PATH=$QTDIR/bin:$PATHexport  LD_LIBRARY_PATH=$QTDIR/lib:/usr/lib/cedarx/:$LD_LIBRARY_PATHexport QT_QPA_PLATFORM_PLUGIN_PATH=$QT_ROOT/pluginsexport QT_QPA_PLATFORM=linuxfb:tty=/dev/fb0export QT_QPA_FONTDIR=$QTDIR/fonts#export LD_PRELOAD=/usr/lib/libts.so#/usr/lib/preloadable_libiconv.so:TouchDevice=gt9xxnew_tsfor InputDevices in /sys/class/input/input*doDeviceName=`cat $InputDevices/name`#echo $InputDevices name:$DeviceNameif [ $DeviceName == $TouchDevice ];thenTouchDeviceNum=${InputDevices##*input}export QT_QPA_EVDEV_TOUCHSCREEN_PARAMETERS=/dev/input/event$TouchDeviceNumecho "add "/dev/input/event$TouchDeviceNum "to Qt Application."breakfidoneif [ ! -n "$TouchDeviceNum" ]; thenecho "Error:Input device $TouchDevice can not be found,plz check it!"fiexport QT_QPA_PLATFORM=eglfs#export QT_QPA_GENERIC_PLUGINS=tslibexport QT_QPA_GENERIC_PLUGINS=evdevtouchexport QT_QPA_EGLFS_INTEGRATION=eglfs_mali#export QT_QPA_FB_HIDECURSOR=1#export QT_QPA_EGLFS_HIDECURSOR=1#export QT_QPA_EGLFS_ROTATION=90export QWS_MOUSE_PROTO=export DBUS_SESSION_BUS_ADDRESS=`cat /tmp/dbusaddr`mkdir -p /dev/shm ulimit -c unlimited#FRAMEBUFFER=/dev/fb0 Launcher &#FRAMEBUFFER=/dev/fb1 MediaUI &/usr/local/appRecord &echo "find qt5 installed done"
fi

运行出错解决方法

参考Failed to load EGL device integration

荣品电子T507移值Qt相关推荐

  1. 荣品电子正式推出三星S5P4418开发板卡片电脑

    荣品电子于15年正式推出S5P4418开发板卡片电脑.新产品三星四核RP4418 S5P4418 Cortex-A9开发板,是一款低功耗.高性能.功能完善的三星4418处理器评估板,属于四核开发板.搭 ...

  2. 4412开发板和4418开发板有什么区别-荣品电子

    4418是4412的简化版,不过成本也低了 1.先是芯片对比. 两个芯片都是三星出的四核cortex-a9芯片.目前4412芯片是停产了. 2.开发板对比 4412开发板有3G版和4G版,具体就不说了 ...

  3. 荣品瑞星微RK3399-RP3399开发板

    在电子产品的世界中,性能是个永恒的话题,世界各大厂家使出浑身解数交替抛出杀手锏来证明自己的实力.而在这些厂家中,不能不提到瑞芯微电子,致力于数字音视频和广播等消费品领域的领头羊,并以制造高性能处理器所 ...

  4. 龙芯团队 在移值 MIPS64 下的.NET Core 进度速报

    写在开始前 我们的主要业务基于 dotnet core 2.x 与 3.1 完成,目前 dotnet core 3.1 支持的 CPU 架构列表中还不包含龙芯,且在 gitlab issue 中表示官 ...

  5. freescale imx6最新版本bsp在天嵌imx6q开发板的移值

    freescale最近发布了imx6新版本的bsp,内核版本为Linux-4.1.15,天嵌imx6q开发板的sdk太老了,甚至都不支持dts,让人很恼火,没有软件持续支持的硬件,真不知道有什么用.. ...

  6. 荣品-i.MX6Q开发板 飞思卡尔iMX6Q开发板 工业级开发板

    http://www.rpdzkj.com/showproducts.asp?/110.html PRO6Q开发板采用了邮票孔焊接设计而成,尺寸为40*60 mm,脚位数 192Pin.核心板标配2G ...

  7. u-boot移值(九)-u-boot的编译、链接过程

    上一篇文章<u-boot的配置>了解了u-boot的配置过程,配置完成后,我们只需要一条简单的指令: make all 就能实现对u-boot的编译,Makefile也类似于C编程,先包含 ...

  8. Linux驱动的开发与移值——为Tiny210加入AC97驱动Wm9713

    文章目的:记录声卡驱动开发的学习过程,本文只是讲解了声卡驱动开发过程中的驱动的基本文件体系结构,暂没有对内核增加新的代码.通过简单的修改配置,让Tiny210具备Ac97的驱动,兼容Tiny6410的 ...

  9. linux 4412跑程序,荣品4412的板子上跑纯linux

    昨天开始突然想在4412上面跑人QT玩,首先得跑个纯linux 昨天做好第一步,把根文件系统,用make_ext4fs 打包.make_ext4fs -l 34M -s system.img mini ...

最新文章

  1. 欧拉函数/欧拉函数打表 lightoj1370(java/c++ )
  2. UVA - 725 Division-sprintf的妙用
  3. nlp中的经典深度学习模型(二)
  4. php 自制建议神马收录查询工具
  5. 【图神经网络】 漫谈图神经网络 (一)
  6. 计算机考试盘安装空间,2021上半年计算机水平考试模拟盘 安装
  7. FusionChartsFree的JSP标签开发
  8. 前端基础入门课程推荐
  9. 知识图谱或成AI发展重点,投研数据整理耗时可从一周缩至一分钟
  10. 借你的名字,诵念尘世的幸福
  11. QT如何去掉布局(Layout)内控件之间的空隙
  12. Unity 扭曲扰动Shader 效果解析
  13. 华为力推自研AI芯片,还记得大明湖畔的寒武纪吗?
  14. persistence.cpp:2197:ann.xml(1): There should be space between attributes in function icvXMLParseTag
  15. 拼多多API接口大全
  16. edge浏览器如何把网页放到桌面_怎么将Edge浏览器图标放到Win10桌面?
  17. 图显系统DRM GEM完全解析
  18. Python --- 笑脸检测+口罩人脸识别
  19. 分布式事务框架 seata
  20. musicothers

热门文章

  1. 数据结构完整性是指数据的正确性、有效性、相容性!
  2. hMailServer 配置
  3. 国内会议总结:无线感知前沿技术论坛分享(三)
  4. 自学 iOS 开发的一些经验 - 转自无网不剩的博客
  5. 求给定正整数m以内的素数之和
  6. ADT:Queues
  7. python爬虫-异步爬虫
  8. 系统出错,发生系统错误1067
  9. ETL和ELT的区别
  10. 修改织梦dedecms后台默认admin账号的方法