首先,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
应该可以了