귀하는 손님 이십니다
로그인
회원가입
  
  델마당 공식 은행계좌
  하나은행 227-910235-83607
  예금주 이상국(운영진)
프로젝트 게시판
투표게시판
델마당소개
기초부터 활용까지! 델파이 교육 - 데브기어
 광고문의 :
lazarus lazarus 입니다.
글내용 - lazarus
 ARM Linux 크로스 컴파일 질문 드립니다.
gomsun2
(장정환)
2015-10-13 오전 11:23:04
1903회 조회


등록된 파일이 없습니다.
안녕하세요. gomsun2입니다.

동일한 질문을 Borland forum에도 작성하였습니다. 양해 부탁드립니다. http://freepascal.borlandforum.com/impboard/impboard.dll?action=modify&db=freepascal_qna&no=161
얼마전부터 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

모조록 작은 단서라도 조언을 부탁드립니다. ㅠ_ㅠ