12.6.3.6 Linker

12.6.3.6 Linker

일반적으로 target당 하나의 링커만 실행되어 정적 라이브러리, 동적 라이브러리 또는 실행 파일을 빌드합니다. 링커의 id 속성은 수행되는 링킹의 종류를 지정합니다.

  • exe - 이 링커의 명령을 덮어씁니다.
<exe name="command" />
  • flag - 단일 링크 플래그를 추가합니다.
<flag value="flag"/>
  • ext - 생성된 파일의 기본 확장자 - target이 재정의하지 않으면.
    • value - 확장자, . 포함.
<ext value=".ext"/>
  • outflag - 링커 출력 이름을 지정하기 위한 플래그를 설정합니다.
    • value - 플래그 값. 실제 이름이 별도의 인자여야 하면 공백 문자를 포함해야 하고(예: -o<space>), 이름이 직접 추가되어야 하면 -o/-out:처럼 사용하세요.
<outflag value="-o"/>
  • section - 요소 블록을 그룹화합니다 - 보통 모두 같은 if/unless 조건을 존중하는 것들.
<section ...>...</section>
  • libdir - 빌드할 임시 디렉토리 이름을 설정합니다. 이는 컴파일러가 생성한 추가 파일을 캡처한 다음 원하는 파일이 올바른 위치로 복사됩니다.
<libdir name="name"/>
  • lib - 링크 줄에 라이브러리를 추가합니다.
    • name - 완전한 이름이 지정됩니다.
    • base - 컴파일러별 확장(.a/.lib) 없이 이름이 지정됩니다.
    • hxbase - 확장과 아키텍처(-v7/.iphonesim) 없이 이름이 지정됩니다.
<lib (name|hxbase|base)="libName" />
  • prefix - 생성된 파일의 접두를 설정합니다.
    • value - 접두. 보통 lib이거나 아무것도 없음.
<prefix value="lib"/>
  • ranlib - ranlib을 실행해야 하는지, 어떤 명령을 사용할지 지정합니다. 보통 Unix 스타일 정적 라이브러리에만 사용됩니다.
<ranlib name="ranlib command"/>
  • libpathflag - 커맨드 라인에 라이브러리 경로를 추가하는 데 사용되는 플래그를 설정합니다. lib 항목과 결합됩니다.
<libpathflag value="-L"/>
  • recreate - 실행하기 전에 target 파일을 삭제할지 지정합니다.

출처: Linker

더 알아보기