도와주세요!!
글 수 15,339
2007.12.27 17:05:42 (*.75.54.249)
11136
안녕하세요...
모르는게 많다보니.. 하나하나 다 풀어나가기가 쉽지 않네요..;;
]$ / mnt / nfs / example -qws
Could not read calibration : /etc/pointercal
[800 x 400]
이렇게 나옵니다. 터치는 도와주신 덕분에 일단 됩니다. ;;감사합니다. ^^ 그런데 좌표는 엉뚱한데서 찍힙니다..;;
그래서 인터넷에서 calibration 프로그램을 구했는데 컴파일시 에러가 납니다.
]# make
.
.
.obj / release-shared-mt-emb-arm / calibrate.o( .text + 0x4f8 : In function 'Calibrate::Calibrate(QWidget*, char const*, unsigned int);
:undefined reference to ' vtable for Calibrate '
.
.obj / release-shared-mt-emb-arm / calibrate.o( .text + 0x4f8 : In function 'Calibrate::Calibrate(QWidget*, char const*, unsigned int);
:undefined reference to ' vtable for Calibrate '
collect2: ld returned 1 exit status
make: *** [calibrate]
인터넷검색해보다가 얻은 제생각은 moc파일을 못만들어서 그런 거 같습니다.
moc 파일을 만들려면 qmake 프로젝트파일에 어떤 옵션을 써야 되는 것인지..
제 프로젝트파일 내용은 다음과 같습니다.
]# vi calibrate.pro
TEMPLATE = app
TARGET = calibrate
CONFIG += qt warn_on release
DEPENDPATH = ../include
HEADER = calibrate.h
SOURCE = calibrate.cpp main.cpp
...
모르는게 많다보니.. 하나하나 다 풀어나가기가 쉽지 않네요..;;
]$ / mnt / nfs / example -qws
Could not read calibration : /etc/pointercal
[800 x 400]
이렇게 나옵니다. 터치는 도와주신 덕분에 일단 됩니다. ;;감사합니다. ^^ 그런데 좌표는 엉뚱한데서 찍힙니다..;;
그래서 인터넷에서 calibration 프로그램을 구했는데 컴파일시 에러가 납니다.
]# make
.
.
.obj / release-shared-mt-emb-arm / calibrate.o( .text + 0x4f8 : In function 'Calibrate::Calibrate(QWidget*, char const*, unsigned int);
:undefined reference to ' vtable for Calibrate '
.
.obj / release-shared-mt-emb-arm / calibrate.o( .text + 0x4f8 : In function 'Calibrate::Calibrate(QWidget*, char const*, unsigned int);
:undefined reference to ' vtable for Calibrate '
collect2: ld returned 1 exit status
make: *** [calibrate]
인터넷검색해보다가 얻은 제생각은 moc파일을 못만들어서 그런 거 같습니다.
moc 파일을 만들려면 qmake 프로젝트파일에 어떤 옵션을 써야 되는 것인지..
제 프로젝트파일 내용은 다음과 같습니다.
]# vi calibrate.pro
TEMPLATE = app
TARGET = calibrate
CONFIG += qt warn_on release
DEPENDPATH = ../include
HEADER = calibrate.h
SOURCE = calibrate.cpp main.cpp
...
2007.12.28 13:45:35 (*.75.54.249)
^^ 네.. 장길석님의 에프에이리눅스 포럼도 잘 보고 있습니다.. 도움도 많이 되고 있고요.. 감사합니다.^^
저의 경우는 프로젝트파일을 qmake로 그때그때 만들지 않고 만들어진걸 수정해서 썼었습니다.
이게 문제였네요...;;
qmake로 프로젝트파일을 만든후 Makefile을 만드니 moc가 생성되고 에러없이 컴파일되네요...^^;;
저의 경우는 프로젝트파일을 qmake로 그때그때 만들지 않고 만들어진걸 수정해서 썼었습니다.
이게 문제였네요...;;
qmake로 프로젝트파일을 만든후 Makefile을 만드니 moc가 생성되고 에러없이 컴파일되네요...^^;;
2007.12.28 16:02:12 (*.33.84.154)
감사합니다. 김강석님. 이렇게 답변을 주셔서 매우 고맙습니다. ^^
오우~ 참 생각지도 못한 부분인데요. 그러면서 에러 메시지는 전혀 엉뚱하고 말이죠.
엉뚱하다는 생각이 드는 것이 아직 경험이 적어서인지
에러 메시지가 너무 생소합니다. 그래서 난감하게 보이고 말이죠. ^^;
초보자에게는 에러에 대한 처리 방법이 매우 중요하더군요.
QT 를 설치할 때부터 처음 보는 에러 메시지를 만나면 얼마나 당혹스러운지 말이죠.
이렇게 하나 둘씩 서로 말씀을 나누면서 알게 된다면
큰 도움이 되지 않을까 생각합니다.
저도 앞으로는 조금 귀찬더라도 프로젝트 파일을 만들어서 사용해야 겠습니다.
그리고 부탁말씀!! 하하 ^^
저는 터치 스크린을 사용해 본적이 없어서 매우 궁금하네요.
혹시 지금 진행하신 부분을 강좌에 올려 주시면 안 될까요?
틀림없이 다른 분에게 큰 도움이 되리라 생각됩니다.
부담을 드리는 것은 아닙니다만 제가 우선 궁금해서요. ^^
글 형식에 관계 없이 말씀하시듯이 어떻게 해서 이렇게 했다라도
말씀을 주신다면 대단히 감사하겠습니다.
감히 부탁 말씀을 올립니다. 그럼 새해 복 많이많이 받으세요. ^^
2008.01.02 09:59:03 (*.75.54.249)
네..^^;;
이번에 터치를 저도 처음 해보느라 이런저런 문제가 많았습니다. 장형기팀장님에게도 도움을 많이 받았고요... 동작시키는 거에만 집중하다 보니 지식도 짧습니다.ㅎㅎ;; 아직 좀 덜된 상태라. (캘리브레이션시 왼쪽모서리부분의 x좌표가 0으로 나오는 바람에 위치가 밀려서 찍힙니다. 즉 엉뚱한 위치에서 터치가 되고 있죠..-_-; ) 완전하게 동작하게 되면 창피하지만 감히 올려 보겠습니다. 저도 임베디드는 이번이 처음이라 앞으로도 많은 도움이 필요하고요... 잘 부탁드려요~ㅜㅜ;; 새해복많이 받으세요.~~^^
이번에 터치를 저도 처음 해보느라 이런저런 문제가 많았습니다. 장형기팀장님에게도 도움을 많이 받았고요... 동작시키는 거에만 집중하다 보니 지식도 짧습니다.ㅎㅎ;; 아직 좀 덜된 상태라. (캘리브레이션시 왼쪽모서리부분의 x좌표가 0으로 나오는 바람에 위치가 밀려서 찍힙니다. 즉 엉뚱한 위치에서 터치가 되고 있죠..-_-; ) 완전하게 동작하게 되면 창피하지만 감히 올려 보겠습니다. 저도 임베디드는 이번이 처음이라 앞으로도 많은 도움이 필요하고요... 잘 부탁드려요~ㅜㅜ;; 새해복많이 받으세요.~~^^
moc 파일은 사용자 슬롯 합수를 만들 때 필요한 파일로
만일 사용자 슬롯을 만들지 않았다면 moc 파일을 생성할 필요가 없습니다.
그러나 사용자 슬롯을 만들어 사용한다면
객체 선언하는 곳에 Q_OBJECT 키워드를 추가하면
make 실행 시에 자동으로 moc 파일이 생성됩니다.
class frmMain : public QDialog
{
Q_OBJECT <---- 바로 이 키워드입니다.
private:
Ui::TfrmMain ui;
public:
frmMain( QWidget* parent = NULL);
};
그러므로 moc 파일이 필요한 객체라면 Q_OBJECT 키워드를 확인해 보십시오.
또한 에러 내용 중에 :undefined reference to ' vtable for Calibrate ' 를 보니
예전에 제가 고생했던 문제가 생각납니다.
다행히 그 문제를 잡고 포럼 강좌에 올렸는데 그 글의 링크를 올립니다.
http://forum.falinux.com/zbxe/?document_srl=406276
링크의 중간 부분에 있습니다. 모쪼록 도움이 되는 글이 었으면 좋겠습니다. ^^