Ubuntu18下移植飞凌的QT4.8.5

首先,1 把飞凌的QT4.8.5_sdk和tslib1.41_sdk,和对应的交叉编译链,解压到/usr/local/arm/OK335XD

2 在qt_creator中设置编译器和qt版本和kit。
在设置qt版本的时候,如果提示"qt没有被正确的安装,请运行make install",可能是之前安装过对应的qt,导致路径不对。

原因为是因为编译出来的qmake.exe中内嵌了一个路径,所以如果路径和能成功配置好qmake的电脑上的路径保持一致的话,就不会报这种错。

但如果不知道那个路径,怎么办呢?可用16进制编译器,打开qmake.exe文件,搜索
71 74 5f 70 72 66 78 70 61 74 68 3d (qt_prexpath=)
就能看到路径。

有一个更简单的方法即可解决:
在qmake.exe同一文件夹下,创建一个qt.conf文件(ANSI格式)

[paths]  
Prefix = ..  
1
2
windows下记事本在另存为的时候可以选择编码格式为ANSI

3 配置完后,看着没有问题了。尝试编译,有报错
error while loading shared libraries: libz.so.1: cannot open shared object file

error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory
 
这个问题就是你64位的操作系统没有32位的类库,而android的SDK是要32位支持的,如果没装就只能是报上面的错!
 
解决:
# sudo apt-get update
# sudo apt-get install lib32z1
 
这时候编译:arm-none-linux-gnueabi-gcc hook.c 通过

4 再编译发现还有关于找不到编译器和tslib的,则需要重新修改

/usr/local/arm/OK335XD/qt4.8.5-sdk/qt4.8.5/mkspecs/qws/linux-arm-g++下的qmake.conf

#
# qmake configuration for building with arm-linux-g++
#

include(../../common/linux.conf)
include(../../common/gcc-base-unix.conf)
include(../../common/g++-unix.conf)
include(../../common/qws.conf)

# modifications to g++.conf
QMAKE_CC                = arm-arago-linux-gnueabi-gcc  -lts
QMAKE_CXX               = arm-arago-linux-gnueabi-g++  -lts
QMAKE_LINK              = arm-arago-linux-gnueabi-g++  -lts
QMAKE_LINK_SHLIB        = arm-arago-linux-gnueabi-g++  -lts

# modifications to linux.conf
QMAKE_AR                = arm-arago-linux-gnueabi-ar cqs
QMAKE_OBJCOPY           = arm-arago-linux-gnueabi-objcopy
QMAKE_STRIP             = arm-arago-linux-gnueabi-strip

QMAKE_INCDIR += /usr/local/arm/OK335XD/tslib-sdk/tslib/include
QMAKE_LIBDIR += /usr/local/arm/OK335XD/tslib-sdk/tslib/lib

 

应该可以了

posted @ 2020-09-15 17:39  不明白就去明白  阅读(361)  评论(0编辑  收藏  举报