Xlib.h 를 사용하는 코드를 컴파일 하려고 하는대요. Xlib.h해더파일이 X11안에 있는 파일입니다. 그래서 컴파일할때 gcc exlc.c -L /usr/include/X11 -lX11 라고 컴파일 해봤는대
gcc exlc.c -L /usr/include/X11 -lX11
/usr/bin/ld: cannot find -lX11 collect2: ld returned 1 exit status
gcc exlc.c -I /usr/include/X11 -lX11
gcc exlc.c -I /usr/include/X11 -lX11 gcc exlc.c -I /usr/include -lX11 gcc exlc.c -I /usr/include/X11 -lXlib
모두 해봤지만 안되네요...컴파일 조차 할수없는
난감한 상황..^^;;
-lX11 해줄때.. 아카이브 파일은 제대로 있나요?? -I로 경로만 잘 지정해주면 될꺼도 같은데.. 같이 고민해 봅시다 ㅋㅋ ^-^
日新 日日新 又日新 Google Talk::chanju_dot_jeon(at)gmail_dot_com
외람된 말씀이지만, 의욕이 너무 앞서나가시는것 같습니다.
먼저 컴파일러 사용법에 관한 문서를 통독하시는게 어떨까요?
X가 /usr/X11R6에 설치되어 있다면..
$ gcc -I/usr/X11R6/include -L/usr/X11R6/lib asdf.c -lX11
매번 -I, -L을 쓰는게 귀찮다면...
$ export LIBRARY_PATH=/usr/X11R6/lib:$LIBRARY_PATH $ export C_INCLUDE_PATH=/usr/X11R6/include:$C_INCLUDE_PATH $ gcc asdf.c -lX11
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html Korean Ver: http://cinsk.github.io/cfaqs/
cinsk님이 가르쳐 주신대로 하니까 잘 되네요..^^;;감사합니다. 이런 질문 좀더 찾아보고 했어야 하는대..컴파일이 쉬워서 그런지 컴파일하는 방법에 대해 자세히 나온 자료는 찾기 힘들더라고요...혹시 자료주소알고있는 분은 좀 알려주세요~~
라이브러리 인클루드 규칙이 그렇습니다.
-lX11이라고 하는것은 libX11.a나 이와 같은 기능의 공유라이브러리와 링크시키겠다는 의미입니다. 찾는 파일이름은 -l 다음에 나온 이름(X11) 앞에 lib를 붙입니다. 모든 라이브러리는 lib라는 이름으로 시작하게 되어 있습니다.
그리고 라이브러리 경로는 gcc에서 미리 지정한 경로가 있는데 대부분은 /usr/lib, /lib 정도일겁니다. 하지만 X11은 /usr/X11/lib나 /usr/X11R6/lib에 있어서 gcc가 못찾죠.. 그래서 -L로 이 경로 등록하죠.
Written By the Black Knight of Destruction
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
gcc exlc.c -I /usr/include/X11 -lX11
gcc exlc.c -I /usr/include/X11 -lX11
gcc exlc.c -I /usr/include/X11 -lX11gc
gcc exlc.c -I /usr/include/X11 -lX11
gcc exlc.c -I /usr/include -lX11
gcc exlc.c -I /usr/include/X11 -lXlib
모두 해봤지만 안되네요...컴파일 조차 할수없는
난감한 상황..^^;;
-lX11 해줄때.. 아카이브 파일은 제대로 있나요??-I로 경로만
-lX11 해줄때.. 아카이브 파일은 제대로 있나요??
-I로 경로만 잘 지정해주면 될꺼도 같은데..
같이 고민해 봅시다 ㅋㅋ ^-^
日新 日日新 又日新
Google Talk::chanju_dot_jeon(at)gmail_dot_com
외람된 말씀이지만, 의욕이 너무 앞서나가시는것 같습니다.먼저 컴파
외람된 말씀이지만, 의욕이 너무 앞서나가시는것 같습니다.
먼저 컴파일러 사용법에 관한 문서를 통독하시는게 어떨까요?
X가 /usr/X11R6에 설치되어 있다면..[code:1]$ g
X가 /usr/X11R6에 설치되어 있다면..
$ gcc -I/usr/X11R6/include -L/usr/X11R6/lib asdf.c -lX11
매번 -I, -L을 쓰는게 귀찮다면...
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://cinsk.github.io/cfaqs/
cinsk님이 가르쳐 주신대로 하니까 잘 되네요..^^;;감사합니다. 이
cinsk님이 가르쳐 주신대로 하니까 잘 되네요..^^;;감사합니다. 이런 질문 좀더 찾아보고 했어야 하는대..컴파일이 쉬워서 그런지 컴파일하는 방법에 대해 자세히 나온 자료는 찾기 힘들더라고요...혹시 자료주소알고있는 분은 좀 알려주세요~~
라이브러리 인클루드 규칙이 그렇습니다.-lX11이라고 하는것은 l
라이브러리 인클루드 규칙이 그렇습니다.
-lX11이라고 하는것은 libX11.a나 이와 같은 기능의 공유라이브러리와
링크시키겠다는 의미입니다. 찾는 파일이름은 -l 다음에 나온 이름(X11)
앞에 lib를 붙입니다. 모든 라이브러리는 lib라는 이름으로 시작하게 되어 있습니다.
그리고 라이브러리 경로는 gcc에서 미리 지정한 경로가 있는데
대부분은 /usr/lib, /lib 정도일겁니다. 하지만 X11은 /usr/X11/lib나
/usr/X11R6/lib에 있어서 gcc가 못찾죠.. 그래서 -L로 이 경로 등록하죠.
Written By the Black Knight of Destruction
댓글 달기