• 7921阅读
  • 9回复

【提问】编译出错 [复制链接]

上一主题 下一主题
离线gaoyu
 
只看楼主 倒序阅读 楼主  发表于: 2005-12-23
我今天才刚刚装的QT,都不是很清楚.

下面是我摘抄<21天学懂QT>的一个程序:

#include <qapplication.h>
#include <qwidget.h>
#include <qpushbutton.h>

int main(int argc,char **argv)
{
  QApplication a(argc,argv);
 
  QWidget mainwindow;
  mainwindow.setMinimumSize(200,100);
  mainwindow.setMaximumSize(200,100);
 
  QPushButton helloworld("Hello World!",&mainwindow);
  helloworld.setGeometry(&mainwindow);
  mainwindow.show();
  return a.exec();
}
运行以后就出现下面的错误了,请大侠帮帮忙.
(注:RH9,QT版本是从论坛上下的,qt-x11-opensource-src-4.1.0)

[root@202 Qt]# gcc -lqt HelloWorld.cpp
HelloWorld.cpp:1:26: qapplication.h: 没有那个文件或目录
HelloWorld.cpp:2:21: qwidget.h: 没有那个文件或目录
HelloWorld.cpp:3:25: qpushbutton.h: 没有那个文件或目录
HelloWorld.cpp: In function `int main(int, char**)':
HelloWorld.cpp:7: `QApplication' undeclared (first use this function)
HelloWorld.cpp:7: (Each undeclared identifier is reported only once for each
  function it appears in.)
HelloWorld.cpp:7: parse error before `(' token
HelloWorld.cpp:9: `QWidget' undeclared (first use this function)
HelloWorld.cpp:10: `mainwindow' undeclared (first use this function)
HelloWorld.cpp:13: `QPushButton' undeclared (first use this function)
HelloWorld.cpp:13: parse error before `(' token
HelloWorld.cpp:14: `helloworld' undeclared (first use this function)
HelloWorld.cpp:16: `a' undeclared (first use this function)
离线XChinux

只看该作者 1楼 发表于: 2005-12-23
不能这样进行编译的,如果你要自己编译,而不使用qmake工具的话,那你就要把环境变量都设置清楚了,建议你先看看
http://www.qtcn.org/bbs/thread.php?fid=21
这个版块的【摘录】《KDE2/Qt编程金典》系列帖子,从前往后看,看看怎样写Makefile,怎样进行编译。
如果嫌麻烦要简单的话,那你就阅读本版和Qt tools & IDE版中相关的qmake使用的帖子。


关于GCC(在这里,应该使用g++,而不是gcc)怎样使用来编译和链接Qt程序,你还要详细了解一下。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线gaoyu
只看该作者 2楼 发表于: 2005-12-23
XChinux,再问一个比较弱的问题,我之前编译了QT好多次都出错了,今天总共编译了将近8个小时才编译通过,我在/usr/local/qt目录下输入designer,可以显示出Qt designer,请问我的QT装上了吗?

谢谢
离线sunbo
只看该作者 3楼 发表于: 2005-12-23
显然你的编译器找不到头文件,查看系统路径中是否包含了qt头文件所在了路径,如果没有,加上我想就行了
我没用过红帽子,抱歉不知道在rh9中怎么加路径
离线gaoyu
只看该作者 4楼 发表于: 2005-12-23
我现在几乎是一点都不了解Qt,你能给我些建议吗?比如该看什么书之类的,多谢了
离线XChinux

只看该作者 5楼 发表于: 2005-12-23
看本版置顶的学习帖子。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线XChinux

只看该作者 6楼 发表于: 2005-12-23
下面是引用gaoyu于2005-12-23 21:41发表的:
XChinux,再问一个比较弱的问题,我之前编译了QT好多次都出错了,今天总共编译了将近8个小时才编译通过,我在/usr/local/qt目录下输入designer,可以显示出Qt designer,请问我的QT装上了吗?
谢谢


应该说,你运行出来的designer不是你要的designer,而是系统上已经默认安装的qt3.x的。
qt 4.1.0安装后,不会设置路径的,/usr/local/qt/bin目录不会自动加入到PATH变量中,所以说,你运行的designer不是/usr/local/qt/bin/designer
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线gaoyu
只看该作者 7楼 发表于: 2005-12-23
多谢XChinux

我在编译前在/etc/profile里面加入了PATH=$QTDIR/bin:$PATH.
而且编译前编译后,我运行Qt designer 出来的界面是不一样的。
离线XChinux

只看该作者 8楼 发表于: 2005-12-23
.... 在/etc/profile里面加入PATH变量更改不太好吧。。。。
那你编译其它程序的时候怎么办 ?因为大部分的QT程序现在还是用Qt3写的。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线gaoyu
只看该作者 9楼 发表于: 2005-12-23
这些我都不是很懂了,仅仅看了《21天学懂QT》,照着上面改的。

那我现在应该怎么办?把/etc/profile里面的那一行去掉?
快速回复
限100 字节
 
上一个 下一个