我对 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 包含到头文件中,编译器就不会中断。
有人知道出了什么问题吗?
谢谢,罗伯特