# Build QT 4.8.7 ## QT4.8.7 Build for AM335x ### 環境準備 開發環境在Ubuntu 18.04.4 LTS - QT的網站下載source code版本4.8.7 [QT Source code 4.8.7](http://download.qt.io/archive/qt/4.8/4.8.7/qt-everywhere-opensource-src-4.8.7.tar.gz) - QT Creator版本4.3.1(開發QT App的IDE) [QT Creator 4.3.1 ](http://download.qt.io/archive/qtcreator/4.3/4.3.1/qt-creator-opensource-linux-x86_64-4.3.1.run) - 下載TI的Graphics SDK [下載網頁](http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/latest/index_FDS.html): 在網頁下載**Graphics_SDK_setuplinux_hardfp_5_01_01_02.bin** 執行並安裝到自己Host的home folder,以下為我自己的安裝路徑 "/home/conch/Graphics_SDK" - Build TS lib: script如下 ````script= git clone git@github.com:libts/tslib.git cd tslib ./autogen.sh ./configure --host=arm-linux-gnueabihf --prefix=/usr/local/tslib --enable-debug=no CC=arm-linux-gnueabihf-gcc make make install ```` ### 編寫mkspec 解開source code後,可以看到一個mkspec的資料匣 進入mkspecs/qws 創建一個linux-am335x-gnueabihf-g\++資料匣 可以去拷貝linux-arm-gnueabi-g++的資料匣內容 並修改其中的**qmake.conf**檔案如下 ````conf= # # mkspecs/qws/linux-am335x-gnueabihf-g++/qmake.conf # qmake configuration for building with arm-linux-gnueabihf-g++ # include(../../common/linux.conf) include(../../common/gcc-base-unix.conf) include(../../common/g++-unix.conf) include(../../common/qws.conf) load(device_config) QMAKE_CXXFLAGS = $$QMAKE_CFLAGS -std=gnu++98 QMAKE_CFLAGS_RELEASE += -O2 -march=armv7-a QMAKE_CXXFLAGS_RELEASE += -O2 -march=armv7-a QMAKE_INCDIR += /usr/local/tslib/include QMAKE_LIBDIR += /usr/local/tslib/lib # modifications to g++.conf QMAKE_CC = arm-linux-gnueabihf-gcc -lts QMAKE_CXX = arm-linux-gnueabihf-g++ -lts QMAKE_LINK = arm-linux-gnueabihf-g++ -lts QMAKE_LINK_SHLIB = arm-linux-gnueabihf-g++ -lts # modifications to linux.conf QMAKE_AR = arm-linux-gnueabihf-ar cqs QMAKE_OBJCOPY = arm-linux-gnueabihf-objcopy QMAKE_STRIP = arm-linux-gnueabihf-strip SGX_SDK_ROOT = /home/conch/Graphics_SDK QMAKE_INCDIR_OPENGL_ES2 = $$SGX_SDK_ROOT/GFX_Linux_SDK/OGLES2/SDKPackage/Builds/OGLES2/Include/ QMAKE_INCDIR_OPENGL_ES2 += $$SGX_SDK_ROOT/include QMAKE_INCDIR_OPENGL_ES2 += $$SGX_SDK_ROOT/GFX_Linux_SDK/OGLES/SDKPackage/Builds/OGLES/Include/ QMAKE_LIBDIR_OPENGL_ES2 = $$SGX_SDK_ROOT/gfx_rel_es8.x/ QMAKE_LIBS_OPENGL_ES2 = -lEGL -lGLESv2 -lGLES_CM -lIMGegl -lsrv_um -lusc QMAKE_INCDIR_OPENGL += $$SGX_SDK_ROOT/GFX_Linux_SDK/OGLES/SDKPackage/Builds/OGLES/Include/ QMAKE_LIBDIR_OPENGL = $$SGX_SDK_ROOT/gfx_rel_es8.x QMAKE_LIBDIR_OPENGL_QT = $$SGX_SDK_ROOT/gfx_rel_es8.x QMAKE_LIBS_OPENGL_ES1 = -lEGL -lGLES_CM -lIMGegl -lsrv_um -lusc QMAKE_INCDIR_OPENVG = $$SGX_SDK_ROOT/GFX_Linux_SDK/OVG/SDKPackage/Builds/OVG/Include/ QMAKE_LIBDIR_OPENVG = $$SGX_SDK_ROOT/gfx_rel_es8.x/ QMAKE_LIBS_OPENVG = -lEGL -lGLESv2 -lGLES_CM -lIMGegl -lsrv_um -lOpenVG -lOpenVGU QMAKE_INCDIR += $$QMAKE_INCDIR_OPENGL_ES2 QMAKE_LIBDIR += $$QMAKE_LIBDIR_OPENGL_ES2 QMAKE_LIBS = $$QMAKE_LIBS_OPENGL_ES2 -lrt -lpthread load(qt_config) ```` ### 準備build - 準備好configure script 在Source folder創建一個shell script(build-config<span>.sh)內容是 ````script= #!/bin/bash # build-config.sh echo yes | ./configure \ -prefix /usr/local/Qt4.8.7 \ -release \ -shared \ -opensource \ -fast \ -no-largefile \ -qt-sql-sqlite \ -no-qt3support \ -webkit \ -no-javascript-jit \ -make libs \ -make docs \ -nomake examples \ -nomake docs \ -nomake demo \ -embedded arm \ -xplatform qws/linux-am335x-gnueabihf-g++ \ -no-openssl \ -qt-freetype \ -depths 16,24,32 \ -armfpa \ -little-endian \ -qt-gfx-linuxfb \ -qt-gfx-transformed \ -qt-gfx-multiscreen \ -qt-gfx-vnc \ -qt-kbd-tty \ -qt-mouse-tslib \ -qt-mouse-linuxinput \ -plugin-mouse-linuxtp \ -plugin-mouse-pc \ -no-glib \ -DQT_QLOCALE_USES_FCVT | tee configure.txt ```` 然後創建另外一個script(build-arm-qt<span>.sh)並且執行它 ````script= #!/bin/bash # build-arm-qt.sh make confclean if [ -f ./build-config.sh ] ; then echo "Start Cofig and build" ./build-config.sh make make install else echo "config script not exist" fi ```` Build的時候請以sudo或是root身分來make install ### Build QT Serial Port - 環境準備: QT4.8.7先要build好 - Buidl Scipt: ````script= git clone git://code.qt.io/qt/qtserialport.git cd qtserialport git checkout qt4-dev mkdir build && cd build /usr/local/Qt4.8.7/bin/qmake ../qtserialport.pro make && sudo make install ```` ###### tags: `Build QT 4.8.7`
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up