0

我已经下载了 QT 4.8.1 Source(everywhere-commercial-version)。并在Windwos 7 64bit下用Visual Studio 2008 Pro编译了64bit版本的QT。

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

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

#include <QSslError>
..

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

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

1>.\qt64test.cpp(10) : 错误 C2065: 'QSslError': 未定义标识符

但标题包括在内!

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。)

4

1 回答 1

2

可能您的 Qt 构建没有配置 OpenSSL 支持。定义将在 qconfig.h

于 2013-03-26T09:41:39.743 回答