2010-06-26 38 views
1

嘿家伙..我最近尝试使用一些特定的Maemo5类(如QMaemo5ListPickSelector等等),而且我得到一些奇怪的编译时错误..当我使用Maemo5特定的Qt类时奇怪的编译错误..!

这里是一个小的代码,我尝试:

QMaemo5ValueButton *x = new QMaemo5ValueButton("Hello"); 
QStandardItemModel model (10,2); 
int i,j,k; 
for(j=0;j<=1;j++) 
{ 
    k=0; 
    for(i=0;i<=9;i++) 
    { 
     QStandardItem *item = new QStandardItem(QString("%0").arg(k)); 
     k+=5; 
     model.setItem(i,j,item); 
    } 
} 
x->setValueLayout(QMaemo5ValueButton::ValueBesideText); 
QMaemo5ListPickSelector *sel = new QMaemo5ListPickSelector(); 
sel->setModel(&model); 

x->setPickSelector(sel); 

QHBoxLayout *hbox = new QHBoxLayout(); 
hbox->addWidget(x); 

QVBoxLayout *vbox = new QVBoxLayout(); 
vbox->addLayout(hbox); 
vbox->addWidget(canvas); 

scrollArea->setLayout(vbox); 

setCentralWidget(scrollArea); 

这是错误我得到:

alt text http://img28.imageshack.us/img28/7491/errorsln.png

这是更详细了同样的错误:

alt text http://img526.imageshack.us/img526/5134/errors2.png

我已经安装了完整的诺基亚的Qt SDK,而这正是被这里也用到了...的Maemo5特定库只“看到”当我选择“的Maemo”作为输出设备..

任何人都知道我该如何解决这些错误..?

我有一个很难配置Qt Creator中第一次轮为好,我真的不希望有各种联合国/重新安装一遍:(

+0

你可以发布你如何和以什么顺序包括Qt库中的文件? – nus 2010-06-26 19:55:47

回答

1

不完整的类型意味着该类(在这种情况下,结构)声明没有被适当地包括,在这种情况下QMaemo5ValueButtonPrivate

这可能是由于圆形包括。

2

看起来您还没有所需的头文件。你还需要将maemo添加到您的qmake项目文件中。

#include <Maemo5ValueButton> 

QT += maemo5 

欲了解更多信息,请查看下面的例子:http://doc.qt.nokia.com/qt-maemo-4.6/maemo5-listpickselector.html

+0

已经尝试了这两件事..没有帮助..有趣的事情要注意的是,错误只与QMaemo5ValueButton .. QMaemo5ListPickSelector没有类似的错误.. – Ahmad 2010-06-26 20:07:41

+0

在这种情况下,建立一个新的项目,只是使用这个类来查看错误是否持续。如果不是,你必须努力工作,并尝试创建最简单的自包含程序来重现它。或者注释掉你的代码的一部分,省略一些包含等,直到错误消失找到它。确保你完全理解包含的错综复杂。使用包括守卫,尽可能包含在cpp文件而不是在.h文件等。检查这些问题: http://stackoverflow.com/questions/691079/is-there-a-standard-include-convention-for -c – nus 2010-06-27 09:49:57

+1

http://stackoverflow.com/questions/2762568/cc-include-file-order-best-practices – nus 2010-06-27 09:50:18