1. 程式人生 > 實用技巧 >Ubuntu18下一直飛凌的QT4.8.5

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

應該可以了