1、首先,我们必须确保gcc安装好了,其次应用程序安装了windows x server软件包,也就是x11窗口吧,最好有桌面环境
2、前提工作到位后,我们就开始下载软件包来安装了,我下载的是qt-x11-opensource-src-4.4.3.tar.bz2
3、把软件包放在/usr/local/myfile目录下,解压,tar jxvf qt-x11-opensource-src-4.4.3.tar.bz2
进入qt-x11-opensource-src-4.4.3
4、输入./configure,运行shell脚本程序
5、开始编译:gmake
gmake出错:
In file included from ssl/qsslcertificate.cpp:117:
ssl/qsslsocket_openssl_symbols_p.h:264: error: variable or field ‘q_sk_free’ declared void
ssl/qsslsocket_openssl_symbols_p.h:264: error: ‘STACK’ was not declared in this scope
ssl/qsslsocket_openssl_symbols_p.h:264: error: ‘a’ was not declared in this scope
ssl/qsslsocket_openssl_symbols_p.h:265: error: ‘STACK’ was not declared in this scope
ssl/qsslsocket_openssl_symbols_p.h:265: error: ‘a’ was not declared in this scope
ssl/qsslsocket_openssl_symbols_p.h:266: error: ‘STACK’ was not declared in this scope
ssl/qsslsocket_openssl_symbols_p.h:266: error: ‘a’ was not declared in this scope
ssl/qsslsocket_openssl_symbols_p.h:266: error: expected primary-expression before ‘int’
ssl/qsslsocket_openssl_symbols_p.h:266: error: initializer expression list treated as compound expression
ssl/qsslcertificate.cpp: In member function ‘QMultiMap<QSsl::AlternateNameEntryType, QString> QSslCertificate::alternateSubjectNames() const’:
ssl/qsslcertificate.cpp:372: error: ‘STACK’ was not declared in this scope
ssl/qsslcertificate.cpp:372: error: ‘altNames’ was not declared in this scope
ssl/qsslcertificate.cpp:372: error: expected primary-expression before ‘)’ token
ssl/qsslcertificate.cpp:372: error: expected ‘;’ before ‘q_X509_get_ext_d2i’
ssl/qsslcertificate.cpp:393: error: ‘q_sk_free’ was not declared in this scope
gmake[1]: *** [.obj/release-shared-emb-x86/qsslcertificate.o] Error 1
gmake[1]: Leaving directory `/home/sysabod/qt-embedded-linux-opensource-src-4.4.3/src/network'
gmake: *** [sub-network-make_default-ordered] Error 2
原因可能是openssl服务没有装,我装了这个服务好像还是有同样的错误
解决办法1:在configure的时候加个参数 -no-openssl
使用./configure -no-openssl 把openssl屏蔽掉吗?
我使用这个方法解决问题的,然后重新gmake
解决方法2:
ln -s /usr/kerberos/include/com_err.h /usr/include/com_err.h
ln -s /usr/kerberos/include/profile.h /usr/include/profile.h
ln -s /usr/kerberos/include/krb5.h /usr/include/krb5.h
我用这个方法不行,仍然报错
6、开始安装:gmake install
注意软件默认安装到了/usr/local/Trolltech/Qt-4.4.3/目录下,如果你不希望安装到此目录,在configure配置的时候使用-prefix选项设定
需要安装的目录
7、设置环境变量:
打开/etc/profile文件,在该文件的末尾加上以下语句:
PATH=/usr/local/Trolltech/Qt-4.4.3/bin:$PATH
QTDIR=/usr/local/Trolltech/Qt-4.4.3
MANPATH=$QTDIR/man:$MANPATH
LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
export PATH QTDIR MANPATH LD_LIBRARY_PATH
执行source /etc/profile命令使配置生效
我遇到中文显示乱码的功能,解决办法如下:
运行:/usr/local/qt4.3.2/bin/qtconfig,在Font项将字体设置为Bitstream charter
退出保存。
8、测试
进入/usr/local/Trolltech/Qt-4.4.3/examples/desktop/systray
执行./systray命令,如果安装好了就会出现如下界面:
也可以写一个简单的hello.cpp程序,测试编译器是否有问题
#include <QApplication>
#include <QLabel>
int main(int argc,char *argv[])
{
QApplication app(argc,argv);
QLabel *label = new QLabel("Hello Yuan!");
label->show();
return app.exec();
}
执行qmake -project ; qmake ; make ; ./hello 一系列命令就可以出现如下界面