0

QT 4.8.1 Source(everywhere-commercial-version)をダウンロードしました。また、Windwos764ビットでVisualStudio2008Proを使用して64ビットバージョンの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 に答える