Linux: 초보 리눅스 개발자 탈출! - 1
새로운 라이브러리를 추가하고 이를 이용해서 소스를 빌드하는 법.
예를 들어, GUPnP 라이브러리를 이용하여 UPnP 서비스를 개발하려고 한다면 어떻게 해야할까? (Ubuntu Linux distribution을 사용하는 경우로 가정하겠다.)
1) GUPnP 라이브러리에 대한 패키지 이름을 확인해본다.
apt-cache search gupnp 명령을 실행하면 GUPnP 관련 패키지를 검색할 수 있다. 살펴보면 libgupnp-dev 라고 하는 패키지를 찾을 수 있다.
2) sudo apt-get install libgunpn-dev 명령어로 GUPnP 라이브러리를 설치한다.
해당 라이브러리에 대한 소스코드가 필요한 경우에는 sudo apt-get source libgupnp-dev 명령어를 실행한다.
3) 이제 GUPnP 라이브러리를 활용한 소스 코드를 gcc로 컴파일해야 하는데 헤더파일의 경로 및 링크에 필요한 파일 경로 등을 어떻게 지정해주어야 할까? pkg-config 도구를 사용하면 쉽게 해결할 수 있다.
http://stackoverflow.com/questions/1041059/header-files-in-subdirectories-e-g-gtk-gtk-h-vs-gtk-2-0-gtk-gtk-h
위 Q&A 내용을 보면 pkg-config --cflags gtk+-2.0와 같이 실행하면 gtk+-2.0의 헤더파일을 include하기 위해 필요한 문자열을 출력한다. 아래와 같은 결과를 볼 수 있다. Library에 대한 경로도 pkg-config --libs로 얻을 수 있다.
-I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include ...
예를 들어, GUPnP 라이브러리를 이용하여 UPnP 서비스를 개발하려고 한다면 어떻게 해야할까? (Ubuntu Linux distribution을 사용하는 경우로 가정하겠다.)
1) GUPnP 라이브러리에 대한 패키지 이름을 확인해본다.
apt-cache search gupnp 명령을 실행하면 GUPnP 관련 패키지를 검색할 수 있다. 살펴보면 libgupnp-dev 라고 하는 패키지를 찾을 수 있다.
2) sudo apt-get install libgunpn-dev 명령어로 GUPnP 라이브러리를 설치한다.
해당 라이브러리에 대한 소스코드가 필요한 경우에는 sudo apt-get source libgupnp-dev 명령어를 실행한다.
3) 이제 GUPnP 라이브러리를 활용한 소스 코드를 gcc로 컴파일해야 하는데 헤더파일의 경로 및 링크에 필요한 파일 경로 등을 어떻게 지정해주어야 할까? pkg-config 도구를 사용하면 쉽게 해결할 수 있다.
http://stackoverflow.com/questions/1041059/header-files-in-subdirectories-e-g-gtk-gtk-h-vs-gtk-2-0-gtk-gtk-h
위 Q&A 내용을 보면 pkg-config --cflags gtk+-2.0와 같이 실행하면 gtk+-2.0의 헤더파일을 include하기 위해 필요한 문자열을 출력한다. 아래와 같은 결과를 볼 수 있다. Library에 대한 경로도 pkg-config --libs로 얻을 수 있다.
-I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include ...
댓글
댓글 쓰기