我很擅长跨编译和ARM板。目前我对ARM板上的交叉编译和二进制执行有基本的想法。我想构建一个QT应用程序,以便在支持触摸屏的基于ARM的主板上运行。该板已配置QT 5和tslib。但是要使用qmake交叉编译应用程序,我需要在我的ubuntu PC中使用tslib交叉编译QT。我能够在没有tslib的情况下构建这样的一个并在我的主板上成功显示了一个应用程序。但是当我尝试使用-tslib配置qt时,配置过程导致终止这些消息:
GET /cities/_search
{
"query": {
"multi_match" : {
"type": "most_fields",
"query": "klaipeda",
"fields": [ "name", "name.folded" ]
}
}
}
这是我的qtbase / mkspecs / linux-arm-gnueabi-g ++内容:
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.
这是配置。命令:
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)
事实是,我正在通过谷歌提供错误的方法。我希望有人建议整齐的工作步骤来交叉编译QT 5.8.0并启用-tslib。
脚注:我可以间接构建QT应用程序吗?我在目标板上有所有必需的.so文件。我可以将它们复制到我的PC中,我是否可以仅使用我的工具链交叉编译Qt项目?
答案 0 :(得分:0)
您的目标设备是什么?
在进行交叉开发时通常会做的是:
在第一种情况下,您必须交叉编译所需的所有依赖项,并将它们添加到跨工具链sysroot。
在第二种情况下,您可以直接在目标上安装所需依赖项的开发包。然后,根据您设置开发环境的方式,您可以在开发计算机上复制设备文件系统的“新版本”,或者通过例如sshfs的。