티스토리 뷰



코딩하는 중에 <X11/extensions/XInput.h>에 있는 XListInputDevices를 사용해야하는데 컴파일 하다보니 자꾸 링킹에서 에러가 난다.

undefined reference to 'XListInputDevices' 라고.
현재 gcc컴파일 옵션은

offX: offX.c
gcc -O3 -Wall -lX11 -o $@ $<
였다. X11을 추가했는데 왜 되지 않을까 고민고민하다가 구글링을 했는데 다음과 같은게 나오더라

/usr/lib 내에서
strings -f libX* |grep XListInputDevices

해주니 XListInputDevices가 사용된 라이브러리 (a파일과 so파일)이 검색되더라.
만약 X관련된 라이브러리가 아니라면 /usr/lib 내에서
strings -f lib* |grep [사용된함수이름]

이렇게 해주면 라이브러리를 찾아 줄 수 있다는 점을 깨닳음!
우왕ㅋ굳ㅋ XListInputDevices는 libXi.so.6 안에 있었다. 당연히 링킹 옵션에 -lXi 를 붙여주니 그다음에는 에러 없이 잘 되었다..

p.s> 실행파일에 링킹된 라이브러리를 찾는 명령어는

ldd 실행파일이름

해주면 된다! ldd 내가만든프로그램 해줬더니 libXi.so.6 이 연결되어있다고 잘 나오더라~~ 으흐흐
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함