我已经下载了 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。)