回复: qtembedded的桌面系统EMD(即Embedded desktop)
#16 [yinsun_01 06-26 15:01]
多谢你的回复!
我重新编译了QT后,可以继续下去, 但出现了三个错误, 都是在moc_PinyinFrame.cpp中, 其中的第83和93行的错误可以按照你说明的方法, 将this用static_cast(this)代替后可以消去, 但第55行的错误,并没有this这个参数, 请看看怎样能消去?
出现的错误信息为:
'QOject' is an ambiguous base of 'QPinyinFrame' moc_PinyinFrame.cpp 55
moc_PinyinFrame.cpp 55行的内容是:
53 const QMetaObject *QPinyinFrame::metaObject() const
54 {
55 return QObject::d_ptr->metaObject ? QObject::d_prt->metaObject : & staticMetaObject ;
56 }
...
请能告知,多谢!
#17 [yinsun_01 06-26 15:03]
多谢你的回复!
我重新编译了QT后,可以继续下去, 但出现了三个错误, 都是在moc_PinyinFrame.cpp中, 其中的第83和93行的错误可以按照你说明的方法, 将this用static_cast(this)代替后可以消去, 但第55行的错误,并没有this这个参数, 请看看怎样能消去?
出现的错误信息为:
'QOject' is an ambiguous base of 'QPinyinFrame' moc_PinyinFrame.cpp 55
moc_PinyinFrame.cpp 55行的内容是:
53 const QMetaObject *QPinyinFrame::metaObject() const
54 {
55 return QObject::d_ptr->metaObject ? QObject::d_prt->metaObject : & staticMetaObject ;
56 }
...
请能告知,多谢!
#18 [zzz945 06-26 21:18]
出错的代码是我移植过来的, 本身由于多重继承了两个QObject的派生类, 才产生这些问题, 编译时经常要改这种错误真是很恶心, 这个类确实需要重新设计, 但现在忙没时间, 假期再弄。 在你那出现的这错误我这是没有的,我看了, 是你我的moc生成的代码不一样, 我想你的错误可以通过把QObject::d_ptr改为QFrame::d_ptr来解决, 这样就能消除ambiguous(二义性)。 请暂时容忍这种丑陋的解决方案, 试一下, 等你的回复
#19 [yinsun_01 06-27 10:05]
多谢你的及时回复.
我按照你的方法作了修改, 可以编译通过, 并且在ARM板上运行成功了.
请能详细描述各个应用程序在emdesktop-running-environment目录下的存放结构, 因运行make install后无效果. 我需要将所有应用程序放在一个目录下再作进一步的实验.现在只能看到大钟,而其他的界面的空的.
多谢!
#20 [zzz945 06-27 13:54]
你应该首先 设好EMD_RUNNING_DIR环境变量到你主机上的emdesktop-running-environment文件夹, 这样make install就会把生成的程序安装进这个文件夹, 然后在把这个文件夹弄到板上, 进入这个文件夹启动emd