Главная
Блог разработчиков phpBB
 
+ 17 предустановленных модов
+ SEO-оптимизация форума
+ авторизация через соц. сети
+ защита от спама

Задачи сборки

Anna | 25.06.2014 | нет комментариев

По каждой видимости где-то запутывался синтаксический анализатор, но вот вопрос — как?

Выходит, суть задачи. Есть план, написанный на Qt 5.0.2, собираемый на linux с поддержкой gcc 4.6.3. Но необходим он больше на винде. И здесь впервой в практике начались важные задачи.

При попытке скомпилить на Qt5.1.0RC1 mingw 4.8 Вылетает со дальнейшей оплошностью:

Спрятанный текст

In file included from c:qtqt5.1.0rc1toolsmingw48_32i686-w64-mingw32includeoleidl.h:7:0,
from c:qtqt5.1.0rc1toolsmingw48_32i686-w64-mingw32includeole2.h:38,
from c:qtqt5.1.0rc1toolsmingw48_32i686-w64-mingw32includewtypes.h:12,
from c:qtqt5.1.0rc1toolsmingw48_32i686-w64-mingw32includewinscard.h:10,
from c:qtqt5.1.0rc1toolsmingw48_32i686-w64-mingw32includewindows.h:97,
from ……..QtQt5.1.0RC15.1.0-rc1mingw48_32include/QtCore/qt_windows.h:71,
from ……..QtQt5.1.0RC15.1.0-rc1mingw48_32include/QtCore/qwineventnotifier.h:48,
from ……..QtQt5.1.0RC15.1.0-rc1mingw48_32include/QtCore/QtCore:79,
from ……..QtQt5.1.0RC15.1.0-rc1mingw48_32include/QtConcurrent/QtConcurrentDepends:2,
from ……..QtQt5.1.0RC15.1.0-rc1mingw48_32include/QtConcurrent/QtConcurrent:3,
from ..UniversalViewermain.cpp:2:
..UniversalViewerCameraSelectModel.h:34:73: error: expected ‘,’ or ‘…’ before ‘struct’
void cameraData(const QModelIndex &index, ACameraDriversInterface **interface, QString *cameraName);
^
..UniversalViewerCameraSelectModel.h:41:34: error: expected unqualified-id before ‘struct’
ACameraDriversInterface* interface;
^
In file included from ..UniversalViewerUniversalViewerCore.h:12:0,
from ..UniversalViewermain.cpp:5:
..UniversalViewerCameraSelectModel.h:41:32: error: expected ‘;’ at end of member declaration
ACameraDriversInterface* interface;
^
..UniversalViewerCameraSelectModel.h:41:43: error: expected identifier before ‘;’ token
ACameraDriversInterface* interface;

Испробовал скомпилить с поддержкой Qt5.0.2 mingw 4.7

Оплошность вышла схожей

In file included from ..UniversalViewerUniversalViewerCore.h:12:0,
from ..UniversalViewermain.cpp:5:
..UniversalViewerCameraSelectModel.h:35:73: error: expected ‘,’ or ‘…’ before ‘struct’
..UniversalViewerCameraSelectModel.h:42:34: error: expected unqualified-id before ‘struct’
..UniversalViewerCameraSelectModel.h:42:32: error: expected ‘;’ at end of member declaration
..UniversalViewerCameraSelectModel.h:42:43: error: expected identifier before ‘;’ token

Стал копать и узнал, что помимо каждого прочего эту обстановку мне обеспечило включение заголовковQtCore и QtConcurrent. Задача вообщем решена, но хотелось бы знать в чем повод. Может у кого-нить есть идеи?

UPD:
По просьбе выкладываю код самого файла и каждого сопутсвующего:

Спрятанный текст

#ifndef CAMERASELECTMODEL_H
#define CAMERASELECTMODEL_H

#include <QAbstractItemModel>

#include "ModulesManager.h"
#include "AFitsCameraDriver.h"
#include "GuiDescriptionCamera.h"

#include <QList>

/*!
 * brief Модель данных о доступных камерах в системе.
 */

class CameraSelectModel : public QAbstractItemModel
{
    Q_OBJECT
public:
    CameraSelectModel(QObject *parent=0);
    void clear();
    QModelIndex index(int row, int column, const QModelIndex &parent) const;
    QModelIndex parent(const QModelIndex &child) const;
    int rowCount(const QModelIndex &parent = QModelIndex()) const;
    int columnCount(const QModelIndex &parent = QModelIndex()) const;
    virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
    virtual QVariant headerData(int section, Qt::Orientation orientation, int role) const;

    void identefyCamera(const QModelIndex & index, int* cameraTypeId, QString *cameraName);
    void updateCameraList();
    void updateCameraList(const QModelIndex & index);
    bool inline isCameraName(const QModelIndex & index ){return index.parent().isValid();}
    void cameraData(const QModelIndex &index, ACameraDriversInterface **interface, QString *cameraName);
private:
    struct Data
    {
        QString NameType;
        QList<QString> devicesName;
        bool isSystem;
        ACameraDriversInterface* interface;
    };
    QVector <Data> m_registedCamera;

    ModulesManager m_driverManger;
    AFitsCameraDriver m_hddCamera;
};

#endif // CAMERASELECTMODEL_H

#ifndef MODULESMANAGER_H
#define MODULESMANAGER_H

#include <QList>
#include <QPluginLoader>
class ModulesManager
{
public:
    ModulesManager();
    ~ModulesManager();
    void reReadModules();
    void loadDrivers(const QString &path);
    QString driversPath();
private:
    void clearModules();
public:
    QList<QPluginLoader*> m_modules;
private:
QString m_path;
};

#endif // MODULESMANAGER_H

#ifndef AFITSCAMERADRIVER_H
#define AFITSCAMERADRIVER_H
#include <ACameraDriversInterface.h>
class AFitsCameraDriver: public QObject, public ACameraDriversInterface
{
    Q_OBJECT
    Q_INTERFACES(ACameraDriversInterface)
public:
    AFitsCameraDriver();
    //AAbstractCamera * createCamera()const;
    QString type() const;
    QString info() const;
    QString version() const;

};

#endif // AFITSCAMERADRIVER_H

#ifndef GUIDESCRIPTIONCAMERA_H
#define GUIDESCRIPTIONCAMERA_H
#include <qglobal.h>
#include <QMetaType>
struct GuiDescriptionCmaera
{
    template <typename T> struct Range{
        T min;
        T max;
    };
    Range<unsigned long> exposeRange;
    Range<unsigned long> frequencyRange;
    Range<unsigned long> gainRange;
    Range<qint32> tempretureRange;

    bool canSetExpose;
    bool canSetFrequency;
    bool canSetGain;
    bool canSetTrigMode;
    bool canSetTragetTempreture;
    bool canSetBining;

};

Q_DECLARE_METATYPE(GuiDescriptionCmaera)

#endif // GUIDESCRIPTIONCAMERA_H

#pragma once

//#include <AAbstractCamera.h>
#include <QMetaType>
#ifndef A_CAMERA_DRIVERS_INTERFACE_IID
#define A_CAMERA_DRIVERS_INTERFACE_IID "camerainterface.drivers.alpha"
#endif

struct ACameraDescription
{
    bool canSetExpose;
    bool canSetFrequency;
    bool canSetGain;
    bool canSetTrigMode;
    bool canSetTragetTempreture;
    bool canSetBining;
};

class ACameraDriversInterface
{
public:
    ACameraDriversInterface() {}
    virtual ~ACameraDriversInterface(){}
    const ACameraDescription & description()const {return m_description;}
 //   virtual AAbstractCamera * createCamera()const =0;
    virtual QString type() const =0;
    virtual QString info() const=0;
    virtual QString version() const =0;
protected:
    ACameraDescription m_description;
};

Q_DECLARE_INTERFACE(ACameraDriversInterface, A_CAMERA_DRIVERS_INTERFACE_IID)
Q_DECLARE_METATYPE(ACameraDescription)

Источник: programmingmaster.ru

Оставить комментарий
Форум phpBB, русская поддержка форума phpBB
Рейтинг@Mail.ru 2008 - 2017 © BB3x.ru - русская поддержка форума phpBB