Mam dziwny problem, robie projekt w używając Qt creatora, jednak część która wcześniej (to jest przed przeniesieniem się z Windowsa na Linuxa) doskonale działała nagle zaczęła zwracać dziwne błędy.
Tak wygląda plik nagłówkowy mojej klasy(MyWidget.h):
#include <QWidget>
#include <QLabel>
#include <QString>
#include <QLineEdit>
#include <QPushButton>
#include <QSpinBox>
#include <QHBoxLayout>
#include <QVBoxLayout>
#include <QVector2D>
#include <solver.h>
class MyWidget: public QWidget // base class has incomplete type
{
Q_OBJECT // incomplete result type 'QString' in function definition // calling 'tr' with incomplete type 'QString'
public:
MyWidget();
private slots:
void getParameters(int n, bool interval);
QVector<QString> prepareDoubles(QVector<QLineEdit*> input); // use of undeclared identifier 'QLineEdit' // expected expression
private:
QGridLayout* parametersWindow; // unknown type name 'QGridLayout'
QVBoxLayout* degreeWindow; // unknown type name 'QVBoxLayout'
QSpinBox* degree; // unknown type name 'QSpinBox'
QPushButton* button; // unknown type name 'QPushButton'
QPushButton* buttonFP; // unknown type name 'QPushButton'
QPushButton* buttonIN; // unknown type name 'QPushButton'
QVector<QLineEdit*> parameters; // unknown type name 'QLineEdit' // expected expression
Solver* solver;
};
#endif // MYWIDGET_H
Solver to inna moja klasa, jako komentarze dodałem błędy jakie się pojawiają w danych linijkach. Nie mam pojęcia skąd się one biorą, skoro przecież wszystkie ich biblioteki są pododawane, a wcześniej ten sam kod działał bez zarzutów. Tu link do projektu na githubie, który działałał bez zarzutów.
Jedyne co się zmieniło to skonfigurowanie środowiska i załączenie odpowiednich bibliotek dla arytmetyki przedziałowej (Interval.h), a co za tym idzie dodanie do pliku .pro następujących linijek:
LIBS +=\
-L"/usr/local/boost/boost_1_55_0" -lBoost
INCLUDEPATH +=\
/usr/local/boost/boost_1_55_0
Oraz rozpoczęcie implementacji (od poprawy pliku nagłówkowego) klasy SolverInterval.