我已经下载了QT 4.8.1 Source(Everywhere-commercial-version)。
并在Windwos 7 64bit下使用Visual Studio 2008 Pro编译了QT的64bit版本。
之后,我在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':未定义的标识符
但是 header 包含在内!
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。)
最佳答案
您的Qt构建可能未配置OpenSSL支持。定义将在qconfig.h中
关于qt - 包含QT header ,但找不到QSslError的标识符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15633118/