아놔... 임시 저장된 글은 왜자꾸 날라가지??
얼마 전 라즈베리파이를 대량구매 하였다.
나의 경우 ubuntu platform 용 QT Application을 미 구현 완료 해놓았기 때문에
해당 플랫폼에서 QT App을 coretext arm 용으로 컴파일 하여 바로 라즈베리파이에
사용해 보려고 합니다.
1. QT source code를 download 한다.
(예전에 x11 용 설정 방법에 기록해 두었다. 아래 링크 참조)
2019/01/31 - [QT] - [QT] Ubuntu 18.04LTS 환경설정에 QT 프레임워크 설치하기(X11 platform 용)
2. 압축 해제 및 폴더 진입 후 명령어 입력.
$ ./configuare -embedded arm -xplatform qws/linux-arm-gnueabihf-g++ -debug
위와 같이 입력하면 commercial 로 할 것인지, open source로 할 것인지 물어 볼것입니다.
그땐 당연히 Open source로 ㄱㄱㄱ 'O' 그리고 'yes'를 입력하면 된다.
위와 같이 물어 오는게 싫다면 명령어 끝에 '-opensource' 라고 붙여 주면 됩니다.
그럼 아래와 같은 configure error가 발생합니다.
The specified system/compiler is not supported:
/home/ihchoi/Downloads/qt-everywhere-opensource-src-4.8.7/mkspecs/qws/linux-arm-gnueabihf-g++
Please see the README file for a complete list.
3. 애드블럭 해제시 나타납니다.
3. qws에 gnuebihf 폴더를 생성합니다.
(gnuebihf는 gnuebi에 hard floating 옵션이 주가된 컴파일러 입니다.)
수동으로 다 만들어도 되나, 우린 귀찮니즘을 기본으로 탑제한 프로그래머이니 ctrl + C, ctrl + V 합니다.
$ cd qt-everywhere-opensource-src-4.8.7/mkspecs/qws
$ cp -r linux-arm-gnueabi-g++ linux-arm-gnueabihf-g++
이렇게 해주고,
2번 항목을 명령어를 재 실행 합니다.
$ ./configuare -embedded arm -xplatform qws/linux-arm-gnueabihf-g++ -debug
실행 완료 후 Makefile 이 생성 될 것입니다.
4. make 실행.
$ make
linux-arm-gnueabihf-g++ qmake가 없어서 아래와 같은 error가 발생 할 것입니다.
make[1]: arm-none-linux-g++: Command not found
Makefile:7031: recipe for target '.obj/release-shared-emb-arm/qabstractanimation.o' failed
make[1]: *** [.obj/release-shared-emb-arm/qabstractanimation.o] Error 127
make[1]: Leaving directory '/home/ihchoi/Downloads/qt-everywhere-opensource-src-4.8.7/src/corelib'
Makefile:200: recipe for target 'sub-corelib-make_default-ordered' failed
make: *** [sub-corelib-make_default-ordered] Error 2
그렇기 때문에 아래와 같이 처리를 해줘야합니다.
참고로 해당 블로그는 'sudo apt install gcc-arm-linux-gnueabihf' 설치가 되어져 있다는 가정하에 진행된 것입니다.
애드블럭 해제시 나타납니다.
3번에서 생성한 폴더 및 파일을 vi 또는 사용하기 편한 edit를 이용하여 편집합니다.
$ vi qt-everywhere-opensource-src-4.8.7/mkspecs/qws/linux-arm-gnueabi-g++/qmake.conf
:%s/none-linux-gnueabi/linux-gnueabihf
내용이 요렇게 되어 변경 될 것입니다.
#
# 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)
# modifications to g++.conf
QMAKE_CC = arm-linux-gnueabihf-gcc
QMAKE_CXX = arm-linux-gnueabihf-g++
QMAKE_LINK = arm-linux-gnueabihf-g++
QMAKE_LINK_SHLIB = arm-linux-gnueabihf-g++
# modifications to linux.conf
QMAKE_AR = arm-linux-gnueabihf-ar cqs
QMAKE_OBJCOPY = arm-linux-gnueabihf-objcopy
QMAKE_STRIP = arm-linux-gnueabihf-strip
load(qt_config)
5. make 를 다시 합니다.
$ make
6. make 완료 후 install 합니다.
$ sudo make install
install 완료 후 해당 폴더 진입시 관련 파일들이 생성되어져 있다.
QT source를 이용하여 embedded cross platform 환경 설정을 진행하였습니다.
다음은 인스톨 완료된 컴파일러를 이용하여 QT Creator 설정 및 build를 해보도록 하겠습니다.
'라즈베리파이' 카테고리의 다른 글
라즈베리파이4 한글 깨짐 수정 (0) | 2020.03.02 |
---|---|
라즈베리파이4에서 QT 빌드 및 실행하기. (0) | 2020.02.27 |