QT高手请指点

软件和网站开发以及相关技术探讨
回复
头像
adrain
帖子: 22
注册时间: 2008-10-14 18:52

QT高手请指点

#1

帖子 adrain » 2009-03-20 14:49

我从网上下了一个QT的程序,里面有三个文件:main.cpp aclock.h和 aclock.cpp 请问这样的文件如何编译?是进入那个文件夹后依次使用命令qmake -project ,qmake,make 编译吗?还是另有蹊跷,我的到最后一步make时出现了错误。


g++ -c -pipe -Wall -W -O2 -D_REENTRANT -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -I/usr/share/qt3/mkspecs/default -I. -I. -I/usr/share/qt3/include -o aclock.o aclock.cpp
在包含自 aclock.cpp:11 的文件中:
aclock.h:14:21: 错误: qwidget.h:没有该文件或目录
aclock.h:15:23: 错误: qdatetime.h:没有该文件或目录
aclock.cpp:12:20: 错误: qtimer.h:没有该文件或目录
aclock.cpp:13:22: 错误: qpainter.h:没有该文件或目录
aclock.cpp:14:21: 错误: qbitmap.h:没有该文件或目录
In file included from aclock.cpp:11:
aclock.h:19: 错误: expected class-name before ‘{’ token
aclock.h:20: 错误: ISO C++ 不允许声明无类型的‘Q_OBJECT’
aclock.h:21: 错误: expected ‘;’ before ‘public’
aclock.h:27: 错误: ‘QPaintEvent’未声明
aclock.h:28: 错误: ‘QMouseEvent’未声明
aclock.h:29: 错误: ‘QMouseEvent’未声明
aclock.h:30: 错误: ‘QPainter’未声明
aclock.h:32: 错误: expected `:' before ‘slots’
aclock.h:33: 错误: expected primary-expression before ‘void’
aclock.h:33: 错误: ISO C++ 不允许声明无类型的‘slots’
aclock.h:33: 错误: expected ‘;’ before ‘void’
aclock.h:35: 错误: expected `:' before ‘slots’
aclock.h:36: 错误: expected primary-expression before ‘void’
aclock.h:36: 错误: ISO C++ 不允许声明无类型的‘slots’
aclock.h:36: 错误: expected ‘;’ before ‘void’
aclock.h:39: 错误: ‘QPoint’没有命名一个类型
aclock.h:40: 错误: ‘QTime’没有命名一个类型
aclock.cpp:20: 错误: expected `)' before ‘*’ token
aclock.cpp:29: 错误: 变量或字段‘mousePressEvent’声明为 void
aclock.cpp:29: 错误: ‘QMouseEvent’在此作用域中尚未声明
aclock.cpp:29: 错误: ‘e’在此作用域中尚未声明
aclock.cpp:35: 错误: 变量或字段‘mouseMoveEvent’声明为 void
aclock.cpp:35: 错误: ‘QMouseEvent’在此作用域中尚未声明
aclock.cpp:35: 错误: ‘e’在此作用域中尚未声明
aclock.cpp:49: 错误: expected ‘,’ or ‘...’ before ‘&’ token
aclock.cpp:49: 错误: ISO C++ 不允许声明无类型的‘QTime’
aclock.cpp:49: 错误: 成员函数‘void AnalogClock::setTime(int)’未在类‘AnalogClock’中声明
aclock.cpp: In member function ‘void AnalogClock::setTime(int)’:
aclock.cpp:51: 错误: ‘time’在此作用域中尚未声明
aclock.cpp:51: 错误: ‘t’在此作用域中尚未声明
aclock.cpp:52: 错误: ‘timeout’在此作用域中尚未声明
aclock.cpp:52: 错误: ‘SIGNAL’在此作用域中尚未声明
aclock.cpp:52: 错误: ‘SLOT’在此作用域中尚未声明
aclock.cpp:52: 错误: ‘disconnect’在此作用域中尚未声明
aclock.cpp:53: 错误: ‘autoMask’在此作用域中尚未声明
aclock.cpp:56: 错误: ‘update’在此作用域中尚未声明
aclock.cpp: At global scope:
aclock.cpp:49: 警告: 未使用的参数‘QTime’
aclock.cpp:60: 错误: 成员函数‘void AnalogClock::timeout()’未在类‘AnalogClock’中声明
aclock.cpp: In member function ‘void AnalogClock::timeout()’:
aclock.cpp:62: 错误: ‘QTime’在此作用域中尚未声明
aclock.cpp:62: 错误: expected `;' before ‘old_time’
aclock.cpp:63: 错误: ‘time’在此作用域中尚未声明
aclock.cpp:63: 错误: ‘QTime’is not a class or namespace
aclock.cpp:64: 错误: ‘old_time’在此作用域中尚未声明
aclock.cpp:66: 错误: ‘autoMask’在此作用域中尚未声明
aclock.cpp:69: 错误: ‘update’在此作用域中尚未声明
aclock.cpp: At global scope:
aclock.cpp:74: 错误: 变量或字段‘paintEvent’声明为 void
aclock.cpp:74: 错误: ‘QPaintEvent’在此作用域中尚未声明
aclock.cpp:74: 错误: expected primary-expression before ‘)’ token
aclock.cpp: In member function ‘void AnalogClock::updateMask()’:
aclock.cpp:88: 错误: ‘QBitmap’在此作用域中尚未声明
aclock.cpp:88: 错误: expected `;' before ‘bm’
aclock.cpp:89: 错误: ‘bm’在此作用域中尚未声明
aclock.cpp:89: 错误: ‘color0’在此作用域中尚未声明
aclock.cpp:91: 错误: ‘QPainter’在此作用域中尚未声明
aclock.cpp:91: 错误: expected `;' before ‘paint’
aclock.cpp:92: 错误: ‘paint’在此作用域中尚未声明
aclock.cpp:93: 错误: ‘color1’在此作用域中尚未声明
aclock.cpp:99: 错误: ‘setMask’在此作用域中尚未声明
aclock.cpp: At global scope:
aclock.cpp:107: 错误: 变量或字段‘drawClock’声明为 void
aclock.cpp:107: 错误: ‘QPainter’在此作用域中尚未声明
aclock.cpp:107: 错误: ‘paint’在此作用域中尚未声明
make: *** [aclock.o] 错误 1


是缺少文件,还是缺少库?请高手指点!
sd07hanyuqiang
帖子: 1
注册时间: 2009-04-03 19:34

Re: QT高手请指点

#2

帖子 sd07hanyuqiang » 2009-04-03 19:38

有些头文件没有包含吧,从第一个开始试试
回复