'sysroot'에 해당되는 글 1건

  1. 2014.03.14 sysroot
리눅스2014. 3. 14. 08:44


--sysroot=dir
Use dir as the logical root directory for headers and libraries. For example, if the compiler normally searches for headers in /usr/include and libraries in /usr/lib, it instead searches dir/usr/include and dir/usr/lib.

If you use both this option and the -isysroot option, then the --sysroot option applies to libraries, but the -isysroot option applies to header files.

The GNU linker (beginning with version 2.16) has the necessary support for this option. If your linker does not support this option, the header file aspect of --sysroot still works, but the library aspect does not. 


sysroot 는 컴파일 시에 필요한 header/lib 들을 찾는 경로에 대한 베이스 경로를 지정해 줄 수 있다.

여러가지 용도로 사용할 수 있겠으나, 다음과 같은 경우에 우선 쓸 수 있다.

1. gdb 로 디버깅 시, 타깃머신(gdbserver가 동작중)의 라이브러리들이 소스머신(gdb 동작중)의 라이브러리들과 매칭이 되지 않을 때.

2. toolchain이 소스와 제공(android경우)되어 그 toolchain을 써야 하나, bionic libc에서 지원하지 않는 라이브러리 함수를 어플리케이션이 사용해야 할 때.


위의 노란 부분은 gcc에서 sysroot 사용법에 대한 설명이다.  --sysroot=dir을 설정하면, 컴파일러께서는 dir/usr/include, dir/usr/lib 등으로 찾으신다.

Posted by code cat