与TSLIB相互交叉编译QT 5.8.0的确切步骤



我是跨编译和臂板的新手。目前,我对武器板上的交叉汇编和二进制执行有基本想法。我想构建一个QT应用程序以在基于ARM的板上运行,该板支持触摸屏。板已经配置为QT 5和TSLIB。但是要与QMake交叉编译应用程序,我需要在Ubuntu PC中使用TSLIB编译的QT。我能够在没有TSLIB的情况下构建这样的人,并在我的董事会中成功显示了一个应用程序。但是,当我尝试使用-tslib配置QT时,配置过程会导致以下消息终止:

Note: No wayland-egl support detected. Cross-toolkit compatibility disabled.
WARNING: Cross compiling without sysroot. Disabling pkg-config
ERROR: Feature 'tslib' was enabled, but the pre-condition 'libs.tslib' failed.
Check config.log for details. 

这是我的qtbase/mkspecs/linux-arm-gnueabi-g 内容:

MAKEFILE_GENERATOR      = UNIX
CONFIG                 += incremental
QMAKE_INCREMENTAL_STYLE = sublib
include(../common/linux.conf)
include(../common/gcc-base-unix.conf)
include(../common/g++-unix.conf)
QMAKE_INCDIR += /home/tslib/include/
QMAKE_LIBDIR += /home/tslib/lib/
# modifications to g++.conf
QMAKE_CC                = arm-none-linux-gnueabi-gcc
QMAKE_CXX               = arm-none-linux-gnueabi-g++
QMAKE_LINK              = arm-none-linux-gnueabi-g++
QMAKE_LINK_SHLIB        = arm-none-linux-gnueabi-g++
# modifications to linux.conf
QMAKE_AR                = arm-none-linux-gnueabi-ar cqs
QMAKE_OBJCOPY           = arm-none-linux-gnueabi-objcopy
QMAKE_NM                = arm-none-linux-gnueabi-nm -P
QMAKE_STRIP             = arm-none-linux-gnueabi-strip
load(qt_config)

以下是配置。命令:

./configure -opensource -confirm-license -xplatform linux-arm-gnueabi-g++ -prefix /usr/local/qt5.8embd -nomake examples -no-opengl -no-iconv -silent -qpa linuxfb -no-gtk -tslib

事实是,我正在通过Google获得错误的方法。我希望有人建议与启用-tslib启用QT 5.8.0的整齐工作步骤。

脚注:我可以间接地构建QT应用程序吗?我的目标板中都有所有必需的.SO文件。我可以将它们复制到我的PC中,并且可以仅使用工具链跨编译QT项目?

您的目标设备是什么?

这样做的跨发展通常是:

  1. 使用交叉链链提供的Sysroot(例如,Linaro看)
  2. 将目标文件系统用作Sysroot

在第一种情况下,您必须交叉编译所需的所有依赖项,并将它们添加到跨型链链Sysroot中。

在第二种情况下,您将需要直接在目标上的依赖项安装开发软件包。然后,根据您如何设置开发环境,您要么在开发机器上复制设备文件系统的"新版本",要么通过例如。SSHFS。

最新更新