<aside>
💡 실행 파일(.out
/.exe
)을 생성하는 것 → ‘빌드(builld)’
빌드(build)를 위해서는 컴파일(compile)에 더불어 링크(link) 과정이 필요하다.
흔히 소스 파일로부터 실행 파일을 생성하는 일련의 과정을 통틀어 ‘컴파일한다’고 말하지만 정확히는 ‘빌드한다’고 말하는 것이 옳다.
</aside>
소스 파일(.c)을 컴파일한 오브젝트 파일(.obj)과 라이브러리 파일(.lib)을 링크시켜 최종적으로 실행 파일을 만든다.
.a
)를 만들었다. 이 정적 라이브러리를 사용하려면 링크 단계에서 링커가 libft.a
파일도 같이 묶어서 하나의 실행 파일을 만들어야 한다.
(정적 라이브러리이므로 최종적으로 생성되는 실행 파일 안에 현재 libft.a
의 내용이 그대로 들어가게 된다.)컴파일러에게 링크할 라이브러리를 명시해줘야한다. gcc 명령어 옵션을 통해 링크할 라이브러리의 이름과 라이브러리 파일의 위치를 명시할 수 있다.
링크와 관련된 자세한 옵션은 linker
의 메뉴얼 페이지 man ld
에서 확인할 수 있다. (ld
는 LoaDer의 약자임)
**l
옵션 (소문자 엘)**x는 링크할 라이브러리의 이름
lib
와 뒤의 .a
를 때고 인식한다.
libft.a
라이브러리 파일을 링크시키고 싶을때, ft
로 명시해야한다.
즉 l
까지 포함해 -lft
로 옵션을 주면 된다.**L
옵션 (대문자 엘)**기본적으로 리눅스는 /lib, /usr/lib, /usr/local/lib
만을 검색해서 라이브러리를 찾는다. 그러므로 추가적으로 디렉토리를 검색하도록 하려면 -L
옵션을 사용하면 된다.
L
뒤에 디렉토리명을 적으면 된다.
-L.
를 옵션으로 주면 된다