도와주세요!!
글 수 15,339
2003.11.19 16:17:04 (*.150.92.139)
6693
안녕하십니까.
강좌란에서 EZ-X5에 TinyX 포팅하는 것을 따라해 보았는데요...
일단 EZ-X5보드에 연결된 LCD에 우중충한(^^;) 회색화면에 X자의
마우스 포인터를 띄우는데는 성공했습니다.
그리고... 간단한 창 하나라도 띄워보기 위해 kldp에서 다음과 같은
코드를 따 왔습니다.
------------------------------- test.c -------------------------------
#include
main()
{
Display *d ;
Window w, root ;
d = XOpenDisplay(NULL) ;
root = XDefaultRootWindow (d);
w = XCreateSimpleWindow ( d, root, 50, 50, 400, 300,
2, BlackPixel (d,0), WhitePixel(d,0) );
XMapWindow (d, w);
XFlush (d);
getchar();
XCloseDisplay (d);
}
---------------------------------------------------------------------------------
코드 자체는 문제가 없는 것 같습니다. 데스크탑 컴퓨터에서 다음과 같은
명령으로 컴파일 해서 창이 뜨는 것을 확인했거든요.
gcc test.c -I/usr/X11R6/include/X11 -L/usr/X11R6/lib -lX11
그런데... EZ-X5 보드상에서 동작하는 바이너리를 얻기 위해 어떻게 컴파일을
해야하는지 모르겠습니다.
저의 컴퓨터는 falinux에서 rpm으로 제공된 크로스컴파일환경이 설치되어 있으므로
armv5l-linux-gcc test.c -I/arm/X11R6/include/X11 -L/arm/X11R6/lib -lX11
명령을 주어야 하는 것이 맞지 않습니까?
라이브러리나 인클루드 파일등도 arm용으로 크로스컴파일된 TinyX 디렉토리
안에 있는 것들로 해 주어야 하고요...
그런데 다음과 같은 에러가 발생하네요...
[root@progsows x]# armv5l-linux-gcc x.c -I/arm/X11R6/include/X11 -L/arm/X11R6/lib -lX11
x.c:1:22: X11/Xlib.h: 그런 파일이나 디렉토리가 없음
x.c: In function `main':
x.c:5: `Display' undeclared (first use in this function)
x.c:5: (Each undeclared identifier is reported only once
x.c:5: for each function it appears in.)
x.c:5: `d' undeclared (first use in this function)
x.c:6: `Window' undeclared (first use in this function)
x.c:6: parse error before "w"
x.c:8: `NULL' undeclared (first use in this function)
x.c:10: `root' undeclared (first use in this function)
x.c:11: `w' undeclared (first use in this function)
[root@progsows x]#
X11/Xlib.h를 못찾는다는데요... /arm/X11R6/include/X11 안에는
Xlib.h가 있거든요...
글이 너무 장황해져 버렸네요. 혹시 EZ-X5의 TinyX상에서 조그만 창이라도
띄울 수 있는 방법이 있으면 힌트를 주실 수 있는지요?
긴글 읽어 주셔서 감사합니다.
안녕히 계십시오.
강좌란에서 EZ-X5에 TinyX 포팅하는 것을 따라해 보았는데요...
일단 EZ-X5보드에 연결된 LCD에 우중충한(^^;) 회색화면에 X자의
마우스 포인터를 띄우는데는 성공했습니다.
그리고... 간단한 창 하나라도 띄워보기 위해 kldp에서 다음과 같은
코드를 따 왔습니다.
------------------------------- test.c -------------------------------
#include
main()
{
Display *d ;
Window w, root ;
d = XOpenDisplay(NULL) ;
root = XDefaultRootWindow (d);
w = XCreateSimpleWindow ( d, root, 50, 50, 400, 300,
2, BlackPixel (d,0), WhitePixel(d,0) );
XMapWindow (d, w);
XFlush (d);
getchar();
XCloseDisplay (d);
}
---------------------------------------------------------------------------------
코드 자체는 문제가 없는 것 같습니다. 데스크탑 컴퓨터에서 다음과 같은
명령으로 컴파일 해서 창이 뜨는 것을 확인했거든요.
gcc test.c -I/usr/X11R6/include/X11 -L/usr/X11R6/lib -lX11
그런데... EZ-X5 보드상에서 동작하는 바이너리를 얻기 위해 어떻게 컴파일을
해야하는지 모르겠습니다.
저의 컴퓨터는 falinux에서 rpm으로 제공된 크로스컴파일환경이 설치되어 있으므로
armv5l-linux-gcc test.c -I/arm/X11R6/include/X11 -L/arm/X11R6/lib -lX11
명령을 주어야 하는 것이 맞지 않습니까?
라이브러리나 인클루드 파일등도 arm용으로 크로스컴파일된 TinyX 디렉토리
안에 있는 것들로 해 주어야 하고요...
그런데 다음과 같은 에러가 발생하네요...
[root@progsows x]# armv5l-linux-gcc x.c -I/arm/X11R6/include/X11 -L/arm/X11R6/lib -lX11
x.c:1:22: X11/Xlib.h: 그런 파일이나 디렉토리가 없음
x.c: In function `main':
x.c:5: `Display' undeclared (first use in this function)
x.c:5: (Each undeclared identifier is reported only once
x.c:5: for each function it appears in.)
x.c:5: `d' undeclared (first use in this function)
x.c:6: `Window' undeclared (first use in this function)
x.c:6: parse error before "w"
x.c:8: `NULL' undeclared (first use in this function)
x.c:10: `root' undeclared (first use in this function)
x.c:11: `w' undeclared (first use in this function)
[root@progsows x]#
X11/Xlib.h를 못찾는다는데요... /arm/X11R6/include/X11 안에는
Xlib.h가 있거든요...
글이 너무 장황해져 버렸네요. 혹시 EZ-X5의 TinyX상에서 조그만 창이라도
띄울 수 있는 방법이 있으면 힌트를 주실 수 있는지요?
긴글 읽어 주셔서 감사합니다.
안녕히 계십시오.