$ wget https://download.qt.io/archive/qt/4.8/4.8.7/qt-everywhere-opensource-src-4.8.7.tar.gz
$ tar -xvf qt-everywhere-opensource-src-qt-4.8.7.tar.gz
$ cd qt-everywhere-opensource-src-4.8.7

$ mkdir output
# Qmake.conf에서 지정한 TSLIB_OUTPUT 경로 설정
$ export TSLIB_OUTPUT=${PWD}/../tslib/output
./configure \
--prefix=${PWD}/output \
-embedded arm \ #타겟 arm 32비트
-xplatform qws/linux-arm-gnueabi-g++ \ #타겟 아키텍쳐 설정
-little-endian \
-opensource \
-host-little-endian \
-confirm-license \
# 터치, 화면회전, 키보드 입력 플러그인 활성화
-qt-mouse-tslib \
-qt-gfx-linuxfb \
-qt-kbd-linuxinput
-no-openssl #보안이 필요한 네트워크 기능 비활성화
$ make
$ make install
#Target ARM 32bit
$ sudo cp -rfvp /home/smjeon/MA35D1/qt-everywhere-opensource-src-4.8.7/output/ /media/smjeon/2e7f71fb-0a4c-4e79-9210-75131d081582/opt/qt-4.8.7/
$ sudo cp -rfvp /home/smjeon/MA35D1/tslib/output/ /media/smjeon/2e7f71fb-0a4c-4e79-9210-75131d081582/opt/tslib_1.22/
tslib test
# 터치 라이브러리 보정
ts_calibrate
# 터치 테스트
ts_test
ld-linux.so.3
# demo 실행
$ cd /opt/qt-4.8.7/output/demos/affine
$ ./affine -qws
-sh: ./affine: No such file or directory
# ./affine interpreter 확인
$ file ./affine
./affine: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV),
dynamically linked, **interpreter /lib/ld-linux.so.3**, for GNU/Linux 3.2.0, BuildID[sha1]=..., stripped
# interpreter를 통해 ld-linux.so.3 파일이 /lib/ 디렉토리에 존재하지 않기 때문에 오류가 뜨는 것으로 확인
# QTDIR, TSLIB_OUTPUT 경로 지정
export QTDIR=/opt/qt-4.8.7/output
export TSLIB_OUTPUT=/opt/tslib_1.22/output
export QT_QWS_FONTDIR=$QTDIR/lib/fonts
export LD_LIBRARY_PATH=$QTDIR/lib:$TSLIB_OUTPUT/lib:$LD_LIBRARY_PATH
export QT_PLUGIN_PATH=$QTDIR/plugins
# input_device touchscreen0 -> event0 이므로 event0으로 설정
export QWS_MOUSE_PROTO='Tslib:/dev/input/event0'
# TSLIB Setting
export TSLIB_TSDEVICE=/dev/input/event0 # /dev/input/ 에서 touchscreen이 어디로 받고 있는 지 확인
export TSLIB_CALIBFILE=/etc/pointercal # ts_calibrate를 실행시켜야 생성
export TSLIB_CONFFILE=$TSLIB_OUTPUT/etc/ts.conf
export TSLIB_PLUGINDIR=$TSLIB_OUTPUT/lib/ts
source ./tslib.sh 해서 쉘스크립트 불러오기# scp <로컬_파일경로> <사용자명>@<보드_IP>:<보드_저장경로>
# ld-linux.so.3 -> /lib/ 디렉토리에 옮기기
$ scp /usr/arm-linux-gnueabi/lib/<file명> root@192.168.0.249:/lib/
# 그 외 파일 옮기기
$ scp /usr/arm-linux0gnueabi/lib/<file명> root@192.168.0.249:/opt/qt-4.8.7/output/lib
error while loading shared libraries <파일명>: wrong ELF class:ELEFCLASS64 시행착오 끝에 내린 결론은 위와 같은 방식으로 하는 것은 권장되지 않고 보드 SDK로 해당 sysroot를 정확히 맞추어 CROSS_COMPILE해야 호환성 에러가 발생할 확률이 줄어듬