LINUX.ORG.RU

История изменений

Исправление EXL, (текущая версия) :

Складывается впечатление, что твой батя — лысый неофит))))))))

Берем в правую руку Qt5, в левую - гыцыцу, компилируем такую херню:

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

//#include <QMainWindow>

#include <QtWidgets/QtWidgets>

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

private:
    Ui::MainWindow *ui;
};

#endif // MAINWINDOW_H

Тут всё, ок, спору нет:

15:18:47: The process "/usr/bin/make" exited normally.

Затем меняем Qt5 в правой руке на Qt4 и пробуем компилякать снова:

In file included from ../../untitled2/main.cpp:1:0:
../../untitled2/MainWindow.h:6:31: fatal error: QtWidgets/QtWidgets: No such file or directory
 #include <QtWidgets/QtWidgets>
                               ^
compilation terminated.
make: *** [main.o] Error 1
15:20:40: The process "/usr/bin/make" exited with code 2.
Error while building/deploying project untitled2 (kit: Desktop Qt 4.8.4 GCC 64bit)
When executing step "Make"

Вот она, собака-то где зарыта. Итог:

+------+----------------+-----------------------+
|      | <QMainWindow>  | <QtWidgets/QtWidgets> |
+------+----------------+-----------------------+
| Qt 6 |      PASS      |          ????         |
| Qt 5 |      PASS      |          PASS         |
| Qt 4 |      PASS      |          FAIL         |
| Qt 3 |      PASS      |          FAIL         |
| Qt 2 |      PASS      |          FAIL         |
| Qt 1 |      PASS      |          FAIL         |
| Qt 0 |      PASS      |          FAIL         |
+------+----------------+-----------------------+

Вывод: не вытрёпывайся и пиши максимально кросс-платформенно. И бате своему скажи.
Потребовался отдельный виджет, определил его заголовок и всё. Нафига тебе вкомпилированное скопище всяких QLCDNumber, QMdiArea, QRubberBand и т. д. в программе?

+ Увеличенное в несколько раз время компиляции.

+ Геммор в бэкпортировании на Qt 4.

Исходная версия EXL, :

Ну давай разберем по частям, тобою написанное ))

Складывается впечатление, что твой батя — лысый неофит))))))))

Берем в правую руку Qt5, в левую - гыцыцу, компилируем такую херню:

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

//#include <QMainWindow>

#include <QtWidgets/QtWidgets>

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

private:
    Ui::MainWindow *ui;
};

#endif // MAINWINDOW_H

Тут всё, ок, спору нет:

15:18:47: The process "/usr/bin/make" exited normally.

Затем меняем Qt5 в правой руке на Qt4 и пробуем компилякать снова:

In file included from ../../untitled2/main.cpp:1:0:
../../untitled2/MainWindow.h:6:31: fatal error: QtWidgets/QtWidgets: No such file or directory
 #include <QtWidgets/QtWidgets>
                               ^
compilation terminated.
make: *** [main.o] Error 1
15:20:40: The process "/usr/bin/make" exited with code 2.
Error while building/deploying project untitled2 (kit: Desktop Qt 4.8.4 GCC 64bit)
When executing step "Make"

Вот она, собака-то где зарыта. Итог:

+------+----------------+-----------------------+
|      | <QMainWindow>  | <QtWidgets/QtWidgets> |
+------+----------------+-----------------------+
| Qt 6 |      PASS      |          ????         |
| Qt 5 |      PASS      |          PASS         |
| Qt 4 |      PASS      |          FAIL         |
| Qt 3 |      PASS      |          FAIL         |
| Qt 2 |      PASS      |          FAIL         |
| Qt 1 |      PASS      |          FAIL         |
| Qt 0 |      PASS      |          FAIL         |
+------+----------------+-----------------------+

Итог: не вытрёпывайся и пиши максимально кросс-платформенно. И бате своему скажи.
Потребовался отдельный виджет, определил его заголовок и всё. Нафига тебе вкомпилированное скопище всяких QLCDNumber, QMdiArea, QRubberBand и т. д. в программе?

+ Увеличенное в несколько раз время компиляции.

+ Геммор в бэкпортировании на Qt 4.