0

我对 QList 对象的使用有疑问。

我认为,这与无法从 QNetworkAccessManager 访问 Ssl 错误列表中的问题不同

我使用 QSslSocket 创建了一个项目,现在我想切换到 QNetworkAccessManager。但是一旦我在我的头文件中插入以下行

private slots:
    void _sslErrors(QList<QSslError> errors);

我收到以下链接器错误

c:\qt\4.4.3\include\qtcore\../../src/corelib/global/qglobal.h(1711) : error C2027: use of undefined type 'QSslError'
        c:\qt\4.4.3\include\qtnetwork\../../src/network/access/qnetworkaccessmanager.h(58) : see declaration of 'QSslError'
        c:\qt\4.4.3\include\qtcore\../../src/corelib/tools/qlist.h(347) : see reference to class template instantiation 'QTypeInfo<T>' being compiled
        with
        [
            T=QSslError
        ]
        c:\qt\4.4.3\include\qtcore\../../src/corelib/tools/qlist.h(346) : while compiling class template member function 'void QList<T>::node_copy(QList<T>::Node *,QList<T>::Node *,QList<T>::Node *)'
        with
        [
            T=QSslError
        ]
        c:\qt\4.4.3\include\qtcore\../../src/corelib/tools/qlist.h(524) : while compiling class template member function 'QList<T>::~QList(void)'
        with
        [
            T=QSslError
        ]
        tmp\moc_QFastdmuHttpBatchClientModuleSSLRepositoryIndex3.cpp(72) : see reference to class template instantiation 'QList<T>' being compiled
        with
        [
            T=QSslError
        ]
c:\qt\4.4.3\include\qtcore\../../src/corelib/tools/qlist.h(349) : error C2514: 'QSslError' : class has no constructors
        c:\qt\4.4.3\include\qtnetwork\../../src/network/access/qnetworkaccessmanager.h(58) : see declaration of 'QSslError'

我知道,只有在禁用 openssl 支持的情况下才会发生这种情况,但是我使用活动的 openssl 编译 Qt,QSslSocket::supportSsl() 返回 true,并且我已经使用纯 QSslSocket 对象成功连接到 SSL 服务器。

顺便说一句:只要我将 QNetwork/QSslSocket 包含到头文件中,编译器就不会中断。

有人知道出了什么问题吗?

谢谢,罗伯特

4

0 回答 0