Код:
echo '#ifndef CONST_H
#define CONST_H
#define PROGRAM_NAME "LightLang Editor"
#define VERSION '${version}'
#define PROGRAM_NAME_WITH_VERSION PROGRAM_NAME VERSION
#define ORGANIZATION "Vialinx"
#define MY_EMAIL "sstikhonov(а)gmail.com"
#define MY_JABBER "Assuri(а)jabber.ru"
#endif' > sources/src/const.hВо время старта configure выплёвывается вот такая ошибка:
./configure: line 129: sources/src/const.h: No such file or directory
Просто из консоли данный синтаксис "echo 'blabla' > sources/src/const.h" работает как требуется, то-есть создаётся файл const.h с определённым содержанием. Не понимаю почему из configure не работает. Строка #! /bin/bash и execute permissions есть у configure.
И вторая ошибка связанная с Qt4:
Код:
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -Isrc -Ibuild -I. -o build/TabsWidget.o src/TabsWidget.cpp
In file included from /usr/include/qt4/QtGui/qtabwidget.h:48,
from /usr/include/qt4/QtGui/QTabWidget:1,
from src/TabsWidget.h:4,
from src/TabsWidget.cpp:2:
/usr/include/qt4/QtGui/qicon.h:127: error: explicit specialization in non-namespace scope ‘class TabWidget’
/usr/include/qt4/QtGui/qicon.h:127: error: too many template-parameter-lists
/usr/include/qt4/QtGui/qicon.h:127: error: explicit specialization in non-namespace scope ‘class TabWidget’
/usr/include/qt4/QtGui/qicon.h:128: error: explicit specialization in non-namespace scope ‘class TabWidget’
/usr/include/qt4/QtGui/qicon.h:131: error: ‘QDataStream& TabWidget::operator<<(QDataStream&, const TabWidget::QIcon&)’ must take exactly one argument
/usr/include/qt4/QtGui/qicon.h:132: error: ‘QDataStream& TabWidget::operator>>(QDataStream&, TabWidget::QIcon&)’ must take exactly one argument
In file included from /usr/include/qt4/QtGui/QTabWidget:1,
from src/TabsWidget.h:4,
from src/TabsWidget.cpp:2:
/usr/include/qt4/QtGui/qtabwidget.h:54: error: declaration of ‘typedef enum QtValidLicenseForGuiModule TabWidget::QtGuiModule’
/usr/include/qt4/QtGui/qicon.h:55: error: conflicts with previous declaration ‘typedef enum QtValidLicenseForGuiModule TabWidget::QtGuiModule’
/usr/include/qt4/QtGui/qtabwidget.h:58: error: too many template-parameter-lists
/usr/include/qt4/QtGui/qtabwidget.h:59: error: too many template-parameter-lists
/usr/include/qt4/QtGui/qtabwidget.h:60: error: too many template-parameter-lists
/usr/include/qt4/QtGui/qtabwidget.h:62: error: too many template-parameter-lists
In file included from src/TabsWidget.cpp:2:
src/TabsWidget.h:6: error: too many template-parameter-lists
src/TabsWidget.h:8: error: too many template-parameter-lists
src/TabsWidget.cpp:4: error: ‘TabsWidget’ has not been declared
src/TabsWidget.cpp:4: error: ISO C++ forbids declaration of ‘TabsWidget’ with no type
src/TabsWidget.cpp:8: error: ISO C++ forbids declaration of ‘TabsWidget’ with no type
src/TabsWidget.cpp:8: error: expected ‘;’ before ‘::’ token
src/TabsWidget.cpp:19: error: expected `;' at end of input
src/TabsWidget.cpp:19: error: expected `}' at end of input
src/TabsWidget.cpp: In member function ‘int TabWidget::TabsWidget(QWidget*)’:
src/TabsWidget.cpp:4: error: only constructors take base initializers
src/TabsWidget.cpp:4: error: class ‘TabWidget’ does not have any field named ‘QTabWidget’
src/TabsWidget.cpp:5: error: ‘addTab’ was not declared in this scope
src/TabsWidget.cpp:6: warning: no return statement in function returning non-void
src/TabsWidget.cpp: At global scope:
src/TabsWidget.cpp:6: error: expected unqualified-id at end of input
make: *** [build/TabsWidget.o] Error 1
Содежание TabsWidget.h и TabsWidget.cpp соответственно.
Код:
#ifndef TABSWIDGET_H
#define TABSWIDGET_H
#include <QtGui/QTabWidget>
class TabWidget;
class TabsWidget : public QTabWidget
{
Q_OBJECT
public slots:
void openNewTab();
void closeCurrentTab();
public:
TabsWidget(QWidget *parent = 0);
~TabsWidget();
private:
QList<TabWidget *> tabs;
};
#endif
Код:
#include "TabWidget.h"
#include "TabsWidget.h"
TabsWidget::TabsWidget(QWidget *parent) : QTabWidget(parent) {
addTab(new TabWidget(),tr("Welcome"));
}
TabsWidget::~TabsWidget() {
foreach (TabWidget *tab,tabs)
delete tab;
}
void TabsWidget::openNewTab() {
addTab(new TabWidget(),"*");
}
void TabsWidget::closeCurrentTab() {
removeTab(currentIndex());
}
Вообще не понимаю в чём дело