Я скачал исходный код QT 4.8.1 (везде коммерческая версия). И скомпилировал 64-битную версию QT с Visual Studio 2008 Pro под Windwos 7 64-бит.
После этого я создал простой проект приложения QT в vs2008.
но если я добавлю класс 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 include path также установлены правильно.
я не знаю, почему компилятор 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 не определен в моем коде.)