개발환경이 갖추어진 상태에서 가장 기본적으로 해야하는 일은 바로 컴파일을 해보는 것이다.
여기서는 모든 환경들이 갖추어진 상태라는 가정하에 설명할 것이다.
여기서 STB 은 개발 PC 와 usbtoserial 로 연결되어 있고, nfs boot 를 한 상태이다.
또한 프로그램 소스 파일들은 /DATA 아래에 준비되어 있다.
참고로 컴파일 할 소프 파일들은 /DATA/Green/Working/SELEVISION/Selevision 아래에 있다.
컴파일하기
컴파일 하기전에 환경변수를 맞춰줘야 하기 때문에, 스크립트 파일을 실행해야 한다.
#cd /DATA/Green/Working/ #source eQT-pallas.env #cd SELEVISION #cd Selevision #cd Build
차후에 프로그램을 수정했을 때, 2 가지를 컴파일해야 한다. 하나는 소스 프로그램이고, 다른 하나는 라이브러리이다. 먼저 소스 프로그램 부터 설명하겠다.
#cd /DATA/Green/Working/SELEVISION/Selevision/Build/ #./i.sh
i.sh 파일을 들여다보면 알겠지만, 컴파일 후 생성되는 오브젝트 파일을 STB 가 마운트하고 있는 경로로 복사해준다.
이번에는 라이브러리이다.
#cd /DATA/Green/Working/SELEVISION/Selevision/Build/commonLib #./i.sh
앞의 경우와 마찬가지로 컴파일 후 생성되는 라이브러리 파일을 STB 가 마운트하고 있는 경로로 복사해준다.
STB 에서 확인하기
STB 에서 nfs 마운트를 한 상태이기 때문에 따로 복사해주는 수고를 덜 수 있다.
root 로 로그인을 한 후에 환경변수들을 지정해줘야 한다. 미리 쉘 스크립트의 형태로 제공되어지고 있기 때문에 실행만으로 충분하다.
#cd #source insmod.sh #source debug.sh #source env.sh #cd /DTVRo/bin #./virtual_kbdmouse // 리모콘의 입력을 받기위해 #./Selevision
제대로 실행이 된다면, 화면에 STB 의 첫 화면이 뜰 것이다.
makefile 만들기
QTE-3.x 부터 기존의 tmake 대신 qmake 가 생겨났다. 기능이나 사용방법은 기존과 크게 다르지 않다. 프로그램을 만들고 나서, 가장 먼저해야 할일은 바로 컴파일이다. 소스파일인 .cpp 로 부터 .pro 파일을 만든 후에 Makefile 파일을 생성해야 하는 순서로 해야 한다. 현재 SELEVISION 의 경우, Bulid 디렉토리 아래에 selevision.pro 파일이 있다.
일일이 수작업으로 타이핑해서 만든 파일이라고 한다. 만약 새로운 파일이 추가되거나, 기존의 파일이 삭제되면 .pro 파일을 수정한 후에 다시 Makefile 을 생성해야 한다.
.pro 파일을 생성한 후에는 qmake-cross 명령어를 이용해서 간단하게 Makefile 을 생성할 수 있다.
#vi selevision.pro #qmake-cross #make
앞에서 유의할 것은 바로 qmake-cross 이다. 만일에 그냥 qmake 를 실행하면, 컴파일러가 gcc 와 g++ 로 잡혀서 Makefile 이 만들어지기 때문에 반드시 qmake-cross 파일로 실행해야 한다. 처음 SELEVISION 을 컴파일하려면, eQT-pallas.env 라는 파일을 실행하는 데, 이 파일을 보면, QMAKE 의 대한 경로가 나와 있다. 하지만, 막상 그 경로에 가보면 qmake-cross 파일이 없다. 이때는 /DATA/Green/Working/QTE/qte-3.2.1-pallas/bin 아래의 qmake-cross 파일을 /DATA/Green/Working/QTE/qte-pallas/bin/ 아래에 복사한다.