소지영(몽인)님. 감사합니다.
결국 크로스 컴파일러는 설정은 해결하지 못하였습니다.
아래 2개의 페이지를 참고하여, Raspberry pi2에 lazarus를 올려 컴파일했습니다.
http://www.tweaking4all.com/hardware/raspberry-pi/install-lazarus-pascal-on-raspberry-pi-2/
http://otapi.com/2015/02/10/raspberry-pi-2-freepascal-lazarus-and-delphi/
소지영(몽인) 님이 쓰신 글 :
: 경로문제 같네요..
: 링크되는 윈도우상의 lib 경로문제가 아니고 lib에 있는 파일들이 가지고 있는 경로문제 입니다.
: 라즈베리파이 라이브러리를 배포된것을 사용 하시면 해결 되고요,
: 타겟보드에서 직접 발췌해서 가져 오셨다면 해당 파일들의 링크로 인해 저런 문제가 생길 수 있습니다.
:
: 구글에서 찾아 보시면 배포되는 라즈베리파이 라이브러리가 있을겁니다.
: (어딘지는 오래되서 기억이...)
:
:
:
:
:
: gomsun2 님이 쓰신 글 :
: : 안녕하세요. gomsun2입니다.
: :
: : 프리파스칼 포럼에는 처음 글을 남깁니다. 얼마전부터 Delphi로 작성된 소스를 ARM-Linux용 .so로 변경하는 작업을 진행중
: : 크로스 컴파일에 실패하여 도움을 요청드립니다.
: :
: : 1~7번은 과정을 설명하였으며, 8번에 오류 메시지와 질문을 작성하였습니다.
: : 모쪼록 작은 단서라도 조언을 부탁드립니다. ㅠ^ㅠ
: :
: : 개발환경
: : - Host환경은 Windows 8.1(64) 이며,
: : - Target은 ARM-Linux입니다.
: : - IDE는 CodeTyphon(이하 CT) 5.5을 설치 하였습니다.
: :
: : 진행해본 작업입니다.
: : 1. CT (Multi Architecture=1) 설치
: :
: : 2. Download Tool Chain으로 아래 항목을 설치하였습니다.
: : . win32-arm-linux
: : . win32-arm-linux--RapberryPi
: : . win32-arm-linux--RapberryPi2
: : . win64-arm-linux
: : . win64-arm-linux--RapberryPi
: : . win64-arm-linux--RapberryPi2
: :
: : 3. Download Libraries로 아래의 OS Library를 설치 하였습니다.
: : . arm-linux-Raspbian -> 경로 C:\codetyphon\binLibraries\arm-linux-Raspbian
: : . arm-linux-raspbian2 -> 경로 C:\codetyphon\binLibraries\arm-linux-Raspbian2
: :
: : 4. ARM-Linux 장비에 접속하여 /lib의 모든 파일을 C:\codetyphon\binLibraries\arm-linux-lib 로 복사하였습니다.
: :
: : 5. Cross Build: 각각을 크로스 빌드 하였습니다.
: : . FPC32 build cross element arm-linux
: : . FPC32 build cross element arm-linux--RapberryPi
: : . FPC32 build cross element arm-linux--RapberryPi2
: : . FPC64 build cross element arm-linux
: : . FPC64 build cross element arm-linux--RapberryPi
: : . FPC64 build cross element arm-linux--RapberryPi2
: : 크로스 빌드 후
: :
: : 6. Typhon 32bit IDE를 실행시킨후 테스트를 위한 간단한 코드를 작성하였습니다.
: : File->New->Libaray로 프로젝트를 생성 후
: :
library gs2module;
: : {$mode objfpc}{$H+}
: : uses
: : Classes;
: :
: : function echo(AValue: PChar): PChar;
: : begin
: : Result := AValue;
: : end;
: :
: : exports
: : echo;
: :
: : begin
: : end.
: :
: : 7. 크로스 컴파일을 위한 프로젝트 설정(Project->Project Options 실행->Compiler Options)
: : . Paths -> Labrary files (-Fl): 에 값을 한번식 설정해 보았습니다.
: : - C:\codetyphon\binLibraries\arm-linux-Raspbian
: : - C:\codetyphon\binLibraries\arm-linux-Raspbian2
: : - C:\codetyphon\binLibraries\arm-linux-lib
: : . Config and Target -> Target Platform
: : - Target OS(-T): Linux
: : - Target CPU Family (-P): ARM
: :
: : 8. 컴파일 실행하면 링킹과정에서 실패합니다.
: :
Compile Project, OS: linux, CPU: arm, Target: libgs2module.so: Exit code 1, Errors: 1
: : c:\codetyphon\fpc\fpc32\bin\i386-win32\arm-linux-ld.exe: cannot find /lib/ld-linux-armhf.so.3
: : gs2module.pas(19,0) Error: Error while linking
: :
: :
: : . ld-linux-armhf.so.3 이 파일은 아래 경로에 포함되어 있고, 컴파일 옵션 중 Library Path에도 잡혀 있는데, 해당 파일을 찾지 못하는 것 같습니다.
: : - C:\codetyphon\binLibraries\arm-linux-Raspbian
: : - C:\codetyphon\binLibraries\arm-linux-Raspbian2
: : - C:\codetyphon\binLibraries\arm-linux-lib
: :
: : 모조록 작은 단서라도 조언을 부탁드립니다. ㅠ_ㅠ