티스토리 뷰
코딩하는 중에 <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 를 붙여주니 그다음에는 에러 없이 잘 되었다..
/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 이 연결되어있다고 잘 나오더라~~ 으흐흐
'Development > Linux' 카테고리의 다른 글
Ubuntu 14.04에 Synergy 설치하여 시작 프로그램에 등록 하기 / 사라진 커서 보이게 하기 (0) | 2015.07.21 |
---|---|
[Linux] Ubuntu 10.10 server 인터넷 연결하기 (0) | 2011.02.07 |
[Linux Driver] 리눅스 Kernel Module 드라이버 샘플 (0) | 2010.10.15 |
FILE Input/Output System Call Function (0) | 2008.11.27 |
mknod에서 동적으로 major no를 할당 받자 (0) | 2008.11.06 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- Cloud
- AWS
- 드라이버
- java
- NDK
- API
- C++
- kering
- algorithm
- db
- MFC
- jni
- database
- 리눅스
- jni강좌
- C
- 안드로이드
- 음악
- gcc
- android
- driver
- source
- Python
- Quiz
- it
- winapi
- Troubleshooting
- Visual C++
- linux
- 프로그래밍
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함