包含QT标头但未找到QSslError的标识符

时间:2013-03-26 09:10:03

标签: qt header compiler-errors 64-bit identifier

我已下载QT 4.8.1来源(无处不在 - 商业版)。 并在Windwos 7 64bit下使用Visual Studio 2008 Pro编译了64位版本的QT。

之后,我在vs2008中创建了一个简单的QT应用程序项目。

但如果我在我的代码中添加QSslError类进行测试,如下所示。

#include <QSslError>
..

Qt64Test::Qt64Test(QWidget* parent, Qt::WFlags flags): QMainWindow(parent, flags)
{
    ui.setupUi(this);
    QSslError a;
}

然后我通过编译得到C2065错误。

1&gt;。\ qt64test.cpp(10):错误C2065:&#39; QSslError&#39;:未定义的标识符

但是标题包括在内!

正确设置了QTDIR。并且所有QT包括路径设置也正确设置。

我不知道为什么vs2008编译器看不到这个标识符。

头文件(qsslerror.h)如下所示:

#ifndef QSSLERROR_H
#define QSSLERROR_H

#include <QtCore/qvariant.h>
#include <QtNetwork/qsslcertificate.h>

QT_BEGIN_HEADER

QT_BEGIN_NAMESPACE

QT_MODULE(Network)

#ifndef QT_NO_OPENSSL

class QSslErrorPrivate;
class Q_NETWORK_EXPORT QSslError
{
public:
    enum SslError {
        NoError,
//..

(我的代码中没有定义QT_NO_OPENSSL。)

1 个答案:

答案 0 :(得分:2)

可能您的Qt版本未配置OpenSSL支持。定义将在qconfig.h