20 12
发新话题
打印

红旗6桌面版与QT4.3.4的问题

红旗6桌面版与QT4.3.4的问题

好不容易在红旗6桌面版下面安装成功了QT 4.3.4,也设置好了QTDIR、QTINC、QTLIB等目录路径。但是编译QT程序时,总是提示说错误,是什么原因?看错误提示的信息,好象是说QT的INCLUDE目录下的文件错误。环境是红旗6 SP1、核心2.6.25.1、gcc 3.0。      

TOP

贴出你的错误信息。      
1,本人乃Linux伊甸园“Linux内核学习”,“红旗等发行版”版主,请大家捧场。
2,红旗Linux在设备驱动,系统设置,中文美化,易用性方面做得非常好,建议大家使用。
3,本人是红旗Linux的粉丝,不是枪手。

TOP

引用:
原帖由 zltjiangshi 于 2008-5-8 18:47 发表
贴出你的错误信息。
qt源程序:
#include "qapplication.h"
#include "qlabel.h"
int main(int argc,char *argv[])
{
QApplication cx(argc,argv);
QLabel *bt=new QLabel("hello",0);
cx.setMainWidget(bt);
bt->show();
return cx.exec();
}
编译时的出错信息(摘录了一部分):
cx/qt/include/QtGui/qpolygon.h:155: 错误:expected declaration specifiers before ‘Q_GUI_EXPORT’
/cx/qt/include/QtGui/qpolygon.h:158: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘:’ token
/cx/qt/include/QtGui/qpolygon.h:161: 错误:expected declaration specifiers before ‘QT_END_HEADER’
In file included from /cx/qt/include/QtGui/qmatrix.h:48,
                 from /cx/qt/include/QtGui/qbrush.h:51,
                 from /cx/qt/include/QtGui/qpalette.h:49,
                 from /cx/qt/include/QtGui/qwidget.h:50,
                 from /cx/qt/include/QtGui/qframe.h:47,
                 from /cx/qt/include/QtGui/qlabel.h:47,
                 from 1.c:2:

cx/qt/include/QtGui/qfont.h:60: 错误:声明的参数‘FT_Face’不存在
/usr/include/stdlib.h:960: 错误:声明的参数‘getloadavg’不存在

/usr/include/stdlib.h:110: 错误:声明的参数‘ldiv_t’不存在
/cx/qt/include/QtGui/qwindowdefs.h:150: 错误:声明的参数‘WId’不存在
gtk也有类似的问题,这是gtk的源程序:
#include <gtk-2.0/gtk/gtk.h>
int main(int argc,char *argv[])
{
GtkWidget *window;
gtk_init(&argc,&argv);
window=gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_widget_show(window);
gtk_mani();
return(TRUE);
}
编译时的出错信息(摘录了一部分):
/usr/include/gtk-2.0/gtk/gtkdnd.h:129: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’
token /usr/include/gtk-2.0/gtk/gtkdnd.h:137: 错误:expected ‘)’ before ‘*’

/usr/include/gtk-2.0/gtk/gtkcolorsel.h:47: 错误:expected ‘;’, ‘,’ or ‘)’ before ‘*’

另外,编译时的提示信息特别多,有没有办法把编译信息导出到一个文件?      

TOP

qt4我没用过,但感觉头文件路径很奇怪,怎么会是/cx/qt/include/QtGui/qbrush.h这种
qt3时代一般都是/usr/include/qt-3的。      
1,本人乃Linux伊甸园“Linux内核学习”,“红旗等发行版”版主,请大家捧场。
2,红旗Linux在设备驱动,系统设置,中文美化,易用性方面做得非常好,建议大家使用。
3,本人是红旗Linux的粉丝,不是枪手。

TOP

引用:
原帖由 zltjiangshi 于 2008-5-10 09:45 发表
qt4我没用过,但感觉头文件路径很奇怪,怎么会是/cx/qt/include/QtGui/qbrush.h这种
qt3时代一般都是/usr/include/qt-3的。
因为我的qt4是安装在cx/qt目录下面。gtk是安装在/usr 目录的,为什么也出这个问题?      

TOP

qt的那个,将include语句的引号改成括号看看。
另外,qt程序编译三部曲:qmake -project; qmake; make,你都做对了吗?
将错误信息输出到文件,可以重定向,比如
make >1.txt 2>&1      
1,本人乃Linux伊甸园“Linux内核学习”,“红旗等发行版”版主,请大家捧场。
2,红旗Linux在设备驱动,系统设置,中文美化,易用性方面做得非常好,建议大家使用。
3,本人是红旗Linux的粉丝,不是枪手。

TOP

引用:
原帖由 zltjiangshi 于 2008-5-10 20:45 发表
qt的那个,将include语句的引号改成括号看看。
另外,qt程序编译三部曲:qmake -project; qmake; make,你都做对了吗?
将错误信息输出到文件,可以重定向,比如
make >1.txt 2>&1
改成括号的结果是一样的。我是按照编译三部曲来搞的,要不然,就不会有这些错误提示了。      

TOP

你的系统上是不是同时还有qt3?
我感觉问题像是这样:找到了同名的头文件,但不是正确的头文件。      
1,本人乃Linux伊甸园“Linux内核学习”,“红旗等发行版”版主,请大家捧场。
2,红旗Linux在设备驱动,系统设置,中文美化,易用性方面做得非常好,建议大家使用。
3,本人是红旗Linux的粉丝,不是枪手。

TOP

引用:
原帖由 zltjiangshi 于 2008-5-12 12:29 发表
你的系统上是不是同时还有qt3?
我感觉问题像是这样:找到了同名的头文件,但不是正确的头文件。
qt3是红旗6系统盘安装时候就自动安装的——并不是我安装的。而且指向的目录也不一样啊。      

TOP

这样,你用make >1.txt 2>&1
将输出信息重定向到1.txt,然后当附件传上来。
还有,你QTDIR几个环境变量怎么设的,也说一下。      
1,本人乃Linux伊甸园“Linux内核学习”,“红旗等发行版”版主,请大家捧场。
2,红旗Linux在设备驱动,系统设置,中文美化,易用性方面做得非常好,建议大家使用。
3,本人是红旗Linux的粉丝,不是枪手。

TOP

 20 12
发新话题