좋은 프로그램은 마음의 여유에서 나온다.
Hello World 크로스 컴파일 하기 본문
이클립스를 이용한 헬로우 월드 프로젝트 크로스 컴파일 하기
메뉴의 File -> New -> C++ Project를 눌러 새로운 프로젝트 생성창을 실행합니다.
프로젝트 이름을 입력해 주고 Project type 는 Executable -> Empty Project를 선택합니다.
오른쪽의 Toolchains는 Linux GCC를 선택한 후 Finish 버튼을 클릭합니다.
프로젝트를 생성한 후 소스파일을 만들겠습니다.
왼쪽의 Project Explorer에서 생성한 프로젝트를 선택한 후 메뉴의 File -> New -> Source File 을 선택합니다.
소스파일명을 입력하고 Finish를 누르면 파일이 생성됩니다.
헬로우 월드 프로그램을 작성합니다.
에러와 물음표가 막나오네요..
arm 컴파일러와 헤더파일, 라이브러리 경로를 설정하도록 하겠습니다.
소스파일을 생성할 때 처럼 Project Explorer에서 HelloWorld 프로젝트를 선택합니다.
메뉴의 Project -> Properties를 선택합니다.
C/C++ General -> Paths And Symbols를 선택한 후 GNU C++에 바로전에 다운받은 라즈베리파이툴 중 아래 디렉토리들을 추가해줍니다.
tools/arm-bcm-2708/gcc-linaro-arm-linux-gnueabihf-raspbian/arm-linux-gnueabihf/include
tools/arm-bcm-2708/gcc-linaro-arm-linux-gnueabihf-raspbian/arm-linux-gnueabihf/libc/usr/include
tools/arm-bcm-2708/gcc-linaro-arm-linux-gnueabihf-raspbian/lib/gcc/arm-linux-gnueabihf/4.7.2/include-fixed
tools/arm-bcm-2708/gcc-linaro-arm-linux-gnueabihf-raspbian/lib/gcc/arm-linux-gnueabihf/4.7.2/include
tools/arm-bcm-2708/gcc-linaro-arm-linux-gnueabihf-raspbian/lib/gcc/arm-linux-gnueabihf/4.7.2/finclude
다음으로는 라이브러리 경로를 지정해주겠습니다.
Library Paths 탭을 선택한 후 아래의 경로들을 추가해줍니다.
tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/arm-linux-gnueabihf/lib
tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/arm-linux-gnueabihf/libc/lib
tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/arm-linux-gnueabihf/libc/lib/arm-linux-gnueabihf
tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/lib/gcc/arm-linux-gnueabihf/4.7.2
tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/libexec/gcc/arm-linux-gnueabihf/4.7.2
마지막으로 왼쪽 창의 C/C++ Build -> Settings에서 Tool Settings을 합니다.
GCC CGG+ Compiler에서 g++ 을 arm-linux-gnueabihf-g++ 로 변경해줍니다.
arm-linux-gnueabihf-g++이 환경변수로 설정되어 있어야 합니다. 초반에 git로 받운받을 때 설정해주었습니다.
GCC C Compiler의 gcc는 arm-linux-gnueabihf-gcc로 변경합니다.
마찬가지로 GCC C++ Linker은 arm-linux-gnueabihf-g++ , GCC Assembler은 arm-linux-gnueabihf-as로 변경합니다.
이제 설정을 완료 한 후 소스 파일을 저장하고 빌드를 하겠습니다.
Ctrl + B를 눌러서 빌드하거나 메뉴의 Project -> Build Project를 눌러 빌드를 합니다.
콘솔창을 통해 빌드가 완료된 것을 확인할 수 있습니다.
실제 파일이 있는 디렉토리로 이동하여 확인합니다.
$ cd ..
$ cd workspace
$ cd HelloWorld
$ ls -al
$ file HelloWorld
$ ./ HelloWorld
HelloWorld 실행파일이 ELF 32-bit LSB executable, ARM, version 1 로 돼있다는 것을 알 수 있고, 바이너리 파일을 실행할 수 없다고 한다.
이클립스에서 ssh를 접속해 바로 라즈베리파이에서 실행되게 할 수 도 있지만, 라즈베리파이에 모니터가 없어서 터미널로 접속해서 nfs로 공유해서 실행해보도록 하겠습니다.
'임베디드 > 라즈베리파이' 카테고리의 다른 글
라즈베리파이에 오라클 자바 8 설치하기 (0) | 2016.04.24 |
---|---|
라즈베리파이 파티션 설정 (0) | 2016.04.23 |
라즈베리파이 크로스컴파일 환경구축 & 이클립스 사용 2 (0) | 2013.02.09 |
라즈베리파이 크로스컴파일 환경구축 & 이클립스 사용 1 (0) | 2013.02.08 |
라즈베리파이 오디오 설정, 테스트 (0) | 2013.02.06 |