fedora14下安装QT4

来源:互联网 发布:同花顺软件购买 编辑:程序博客网 时间:2024/05/17 21:26

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  一系列命令就可以出现如下界面

原创粉丝点击