【问题标题】:Strange compilation errors when I use Maemo5 specific Qt classes .. !当我使用 Maemo5 特定的 Qt 类时出现奇怪的编译错误 .. !
【发布时间】:2011-03-08 16:56:17
【问题描述】:

大家好 .. 我最近尝试使用一些 Maemo5 特定的类(例如 QMaemo5ListPickSelector 等 ..),但我遇到了一些奇怪的编译时错误 ..

这是我正在尝试的一个小代码:

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 时也遇到了困难,我真的不想重新进行各种卸载/重新安装 :(

【问题讨论】:

  • 您能否发布包含 qt 库中的文件的方式和顺序?

标签: c++ qt maemo


【解决方案1】:

您似乎没有包含所需的标题。您还需要将 maemo 添加到您的 qmake 项目文件中。

#include <Maemo5ValueButton>

QT += maemo5

有关更多信息,请查看以下示例:http://doc.qt.nokia.com/qt-maemo-4.6/maemo5-listpickselector.html

【讨论】:

  • 已经尝试了这两种方法.. 没有帮助.. 有趣的是,错误仅与 QMaemo5ValueButton 相关.. QMaemo5ListPickSelector 没有类似的错误..
  • 在这种情况下,创建一个只使用此类的新项目,以查看错误是否仍然存在。如果没有,您必须尝试按照自己的方式工作,并尝试创建最简单的自包含程序来重现它。或者注释掉部分代码并省略一些包含等,直到错误消失以找到它。确保您完全理解包含的复杂性。使用包含保护,尽可能多地包含在 cpp 文件而不是 .h 文件等中。检查这些问题:stackoverflow.com/questions/691079/…
【解决方案2】:

不完整类型表示未正确包含类(在本例中为结构)声明,在本例中为 QMaemo5ValueButtonPrivate

这可能是由于循环包含。

【讨论】:

    猜你喜欢
    • 2013-02-25
    • 2020-05-22
    • 1970-01-01
    • 1970-01-01
    • 2013-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多