Мне довольно стыдно обращаться с избитыми вопросами, но конкретики так и не могу найти (поиск по форуму и по google делал)... поэтому не судите строго, пожалуйста.
мне нужно сделать программу обработки изображений с графическим интерфейсом. Я в основном прогаю на скриптовых языках типа Ruby, с C++ знаком не очень много, но чтобы сделать обработку - знаний хватит. Раз уж писать на С++, то все приложение
Хочу использовать Qt4 для построения графического интерфейса пользователя, а так же для загрузки изображений в основную программу (типа разбиение по слоям)
Почитал доки - в принципе все ясно.
Не ясно только то, что до этого на С++ никогда в Линукс программы не писал
А теперь вопросы
1. Подскажите, пожалуйста, где найти доки (а может и вы мне кратко ответите), как делаются приложения под Линукс на С++? Хочу использовать qmake, и на сколько я понял, мы сначала пишем исходные файлы проекта, потом делаем qmake -project в текущей папке, потом qmake, потом make - и получаем готовое приложение в каталоге, прописанном в make-файле. Этот подход годится для сколь-угодно больших приложений?
2. Какие инструменты использовать для создания установочного файла для готового приложения?
3. А теперь про Qt
Делаю простейшую программу из примеров (Hello World именуется) с таким кодом:
#include <QApplication>
#include <QPushButton>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QPushButton hello("Hello world!");
hello.resize(100, 30);
hello.show();
return app.exec();
}
вывод make таков
main.cpp:1:25: error: QApplication: No such file or directory
main.cpp:2:24: error: QPushButton: No such file or directory
Не ясно, в линукс С++ не понимает что ли заголовочные файлы без .h ?
опытным путем правим до такого состояния:
#include <qapplication.h>
#include <qpushbutton.h>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QPushButton hello("Hello world!");
hello.resize(100, 30);
hello.show();
return app.exec();
}
ладно, что .h добавили, но нужно еще и буквы строчными сделать... ПОЧЕМУ ТАК? и как-то это можно поправить?
Выдает программа такой вывод:
main.cpp:13:3: warning: no newline at end of file
main.cpp: In function ‘int main(int, char**)’:
main.cpp:8: error: no matching function for call to ‘QPushButton::QPushButton(const char [13])’
/usr/include/qt3/qpushbutton.h:138: note: candidates are: QPushButton::QPushButton(const QPushButton&)
/usr/include/qt3/qpushbutton.h:67: note: QPushButton::QPushButton(const QIconSet&, const QString&, QWidget*, const char*)
/usr/include/qt3/qpushbutton.h:65: note: QPushButton::QPushButton(const QString&, QWidget*, const char*)
/usr/include/qt3/qpushbutton.h:64: note: QPushButton::QPushButton(QWidget*, const char*)
make: *** [main.o] Ошибка 1
И что делать? Я реально не понимаю, так как это моя первая программа на линукс
И еще, не ругайтесь, пожалуйста, если вопросы очевидные для Вас, если что-то толковое почитать дадите именно по методологии и методике построения приложений под линукс буду рад!
А если на вопросы ответите, хотя бы кратко, буду безмерно благодарен!!!!
Заранее всем спасибо!