QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1964|回复: 9

Qpe-mail的问题

[复制链接]
发表于 2005-7-29 10:13:46 | 显示全部楼层 |阅读模式
编译Qpe-mail时有一些警告,但是勉强通过,生成了目标 qpemail,将相关文件放到Qtopia/bin目录下后,运行Qpemail,出错:

Doing slow search for image: qpemail/qpemail
QGDict::hashKeyString: Invalid null key
addAppLnk: No view for type (null). Can't add app (null)!
addAppLnk: No view for type Application. Can't add app !
Connected to VFB server: 640 x 480 x 32
Create pluginlibman in libqpe
Use QPEApplication's PluginLibraryManager
QuickLauncher running
Registered QPE/QuickLauncher-6051
Doing slow search for image: qpemail/qpemail
qpemail: relocation error: qpemail: undefined symbol: _ZN10QVNCServer16staticMetaObjectEv

怎么解决呢?     
发表于 2005-7-29 10:47:31 | 显示全部楼层
出现这个问题的很有可能是qpemail需要的文件你没有复制全吧?
没有用过QPE-Mail,在哪里下的?我也去弄一个玩玩儿。
好和你交流
:D
回复

使用道具 举报

 楼主| 发表于 2005-7-29 11:26:35 | 显示全部楼层
Qpe-mail在这里下:
http://sourceforge.net/projects/qpemail/
弄好了可要教我喔

看到让别人的Qtopia,好羡慕
http://jserv.sayya.org/qtopia/doc/
          
回复

使用道具 举报

发表于 2005-7-29 15:22:23 | 显示全部楼层
根据我的观察,包括输入法在内,你的问题出在Qtopia的Plugins上。
可以考虑从这方面找找错误。
回复

使用道具 举报

发表于 2005-7-30 11:45:46 | 显示全部楼层
先声名一下我的QT/Embedded和Qtopia路径如下:
QT/Embedded-2.3.10:                /opt/workspace/embedded/Qt/qte-2.3.10-target/
Qtopa-2.1.1:                        /opt/workspace/embedded/Qt/qtopia-free-2.1.1/
QtPalmtop(Qtopia安装路径):        /opt/workspace/embedded/i.Mx1ADS/target/QtPalmtop/

下面是qpemail 0.1的安装步骤如下:
1)解压缩qpemail-0.1.tar.bz2
tar jxvf qpemail-0.1.tar.bz2

2)修改工程文件:
原有的工程文件太简单,自己写了一个:qpemail.pro
# qpemail.pro begin
TEMPLATE        = app
CONFIG          += qtopiaapp

# comment the following line to enable building the example application
# as a quicklaunch application.
# quicklaunch applications need to be installed before they can be run,
# But can be faster to start running in Qtopia.
CONFIG          -= buildQuicklaunch

INCLUDEPATH     += $(QPEDIR)/include/qtopia/ $(QPEDIR)/include/qpe/
LIBS            += -lqpe

TARGET.path     = /bin

desktop.files   = qpemail.desktop
desktop.path    = /apps/Applications
INSTALLS        += desktop

pics.files      = pics/attach.png \
                  pics/back.png \
                  pics/checkmail.png \
                  pics/configure.png \
                  pics/decrypted.png \
                  pics/delete.png \
                  pics/encrypted.png \
                  pics/folderfull.png \
                  pics/folder.png \
                  pics/forward.png \
                  pics/gpgkey.png \
                  pics/hi32-app-kmail.png \
                  pics/inbox.png \
                  pics/linebreak.png \
                  pics/newmail.png \
                  pics/outbox.png \
                  pics/reply.png \
                  pics/send.png \
                  pics/sentmail.png \
                  pics/signature.png \
                  pics/smilie.png \
                  pics/source.png \
                  pics/stop.png \
                  pics/trash.png

pics.path       = /pics/qpemail
INSTALLS        += pics

HEADERS         = classes.h \
                  composer.h \
                  config.h \
                  configfile.h \
                  mailparser.h \
                  mainwindow.h \
                  newaccount.h \
                  newfolder.h \
                  newident.h \
                  passdlg.h \
                  pop.h \
                  smtp.h \
                  viewmail.h
SOURCES         = classes.cpp \
                  composer.cpp \
                  config.cpp \
                  configfile.cpp \
                  mailparser.cpp \
                  main.cpp \
                  mainwindow.cpp \
                  newaccount.cpp \
                  newfolder.cpp \
                  newident.cpp \
                  passdlg.cpp \
                  pop.cpp \
                  smtp.cpp \
                  viewmail.cpp
INTERFACES      =
TARGET          = qpemail
# qpemail.pro end

3)修改配置文件qpemail.desktop
qpemail所用的到图片放在qpemail-0.1/pics中了,其中hi32-app-kmail.png是应用程序的图标.但是这个文件和qpemail.desktop文件不一致,所以要修改一下qpemail.desktop:
[Desktop Entry]
Comment=E-Mail client
Exec=qpemail
Icon=qpemail/qpemail
Type=Application
Name=E-Mail
把其中:
Icon=qpemail/qpemail
改成:
Icon=qpemail/hi32-app-kmail即可。
有另外一种办法,就是把qpemail-0.1/pics/hi32-app-kmail.png改名为qpemail.png也行。不过别忘了同时修改qpemail.pro中的pics.files变量。

4)编译并安装qpemail
---生成Makfile
cd qpemail-0.1
export QTDIR=/opt/workspace/embedded/Qt/qte-2.3.10-target/
export QPEDIR=/opt/workspace/embedded/Qt/qtopia-free-2.1.1/
qmake -o Makefile -spec /opt/workspace/embedded/Qt/qtopia-free-2.1.1/mkspecs/qws/linux-ipaq-g++/
---编译
make
---安装
INSTALL_ROOT=/opt/workspace/embedded/i.Mx1ADS/target/QtPalmtop/ make install
大家可以自己按照自己的配置修改该QTDIR,QPEDIR,-spec,还有INSTALL_ROOT变量的值.

正确安装之后就可以在Qtopia的Application页中看到一个E-mail的程序了.
回复

使用道具 举报

 楼主| 发表于 2005-8-1 10:26:13 | 显示全部楼层
大概按你 说的改了工程文件,然后编译,不过我用的是TMAKE
好多警告,只截取部分如下:
In file included from /usr/include/c++/3.2.2/backward/iostream.h:31,
                 from config.cpp:28:
/usr/include/c++/3.2.2/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <sstream> instead of the deprecated header <strstream.h>. To disable this warning use -Wno-deprecated.
config.cpp: In member function `void Config::newFolderEntry(Folder)':
config.cpp:178: warning: unused parameter `Folder folder'
g++ -c -pipe -DQWS -fno-exceptions -fno-rtti -Wall -W -O2 -fno-default-inline -DNO_DEBUG -I/usr/local/pcqt1.7/qt-2.3.7/include -I/opt/Qtopia/include -I/opt/Qtopia/include/qtopia -I/opt/Qtopia/include/qpe -o configfile.o configfile.cpp


最后出错:

gcc  -o qpemail classes.o composer.o config.o configfile.o mailparser.o main.o mainwindow.o newaccount.o newfolder.o newident.o passdlg.o pop.o smtp.o viewmail.o moc_composer.o moc_config.o moc_mailparser.o moc_mainwindow.o moc_newaccount.o moc_newfolder.o moc_newident.o moc_passdlg.o moc_pop.o moc_smtp.o moc_viewmail.o  -L/usr/local/pcqt1.7/qt-2.3.7/lib -L/opt/Qtopia/lib -lm -lqte -lqtopia -lqpe
classes.o(.gnu.linkonce.t._ZNK10QVNCServer10metaObjectEv+0x5): In function `QVNCServer::metaObject() const':
: undefined reference to `QVNCServer::staticMetaObject()'
/opt/Qtopia/lib/libqtopia.so: undefined reference to `QMetaObject::new_metaobject(char const*, char const*, QMetaData*, int, QMetaData*, int, QClassInfo*, int)'
collect2: ld returned 1 exit status
make: *** [qpemail] Error 1

这是怎么回事呢?

  
回复

使用道具 举报

发表于 2005-8-1 21:47:28 | 显示全部楼层
那个警告无所谓的.
你的那个/usr/local/pcqt1.7/qt-2.3.7/lib
和/opt/Qtopia/lib是一套吗?
回复

使用道具 举报

 楼主| 发表于 2005-8-2 08:17:15 | 显示全部楼层
是的,Qtopia是1.7, qt是2.3.7
回复

使用道具 举报

发表于 2005-8-2 18:06:36 | 显示全部楼层
你编译的时候uic是不是用错了,不是qte-2.3.7的吧
回复

使用道具 举报

发表于 2005-8-2 18:09:57 | 显示全部楼层
不过,这几个函数应该是moc指令生成的。
我觉得和你编译室时候所用的uic和moc有很大关系。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-5 01:58 , Processed in 0.040007 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表