LINUX.ORG.RU

QT


0

0

Люди добрые!!! Не подскажете в чём решение проблемы???

Я ставлю qt-4.2.2 (третий тоже пробовал - та же фигня)... Вобщем, не желает gcc родимый с ним компилировать приложения.

Например, на код следующего вида

#include <qapplication.h>
int main() { return 0; }

выдаёт следующее

|| gcc -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/opt/qt422/mkspecs/linux-g++ -I. -I/opt/qt422/include/QtCore -I/opt/qt422/include/QtCore -I/opt/qt422/include/QtGui -I/opt/qt422/include/QtGui -I/opt/qt422/include -I. -I. -I. -o sqtp.o sqtp.c
|| In file included from /opt/qt422/include/QtCore/qobjectdefs.h:27,
|| from /opt/qt422/include/QtCore/qobject.h:29,
|| from /opt/qt422/include/QtCore/qcoreapplication.h:27,
|| from /opt/qt422/include/QtGui/qapplication.h:27,
|| from sqtp.c:1:
/opt/qt422/include/QtCore/qnamespace.h|31| error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘QT_MODULE’
/opt/qt422/include/QtCore/qnamespace.h|1365| error: expected ‘)’ before ‘:’ token
/opt/qt422/include/QtCore/qnamespace.h|1381| error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘Q_CORE_EXPORT’

и так далее таких сообщений из-за высокой вложенности очень много...

флаги компиляции я думаю ясны...

Ещё прописывал QTDIR=/opt/qt422...

Вот такие пироги...

По-моему он пытается его компилировать как C код. Измени расширение у исходника.

Legioner ★★★★★
()
Ответ на: комментарий от friday

Во-первых, нужно, чтобы имя файла имело окончание .cpp. Во-вторых, #include <QApplication>, а не #include <qapplication.h>. В-третьих, дейстительно, man qmake.

krum
()

Можно для начала попробовать qmake -project && qmake && make.

smh ★★★
()

Хммм... qmake -project && qmake *.pro && make пробовал, - не помогло.

Возможно и надо использовать <QApplication.h>, но мне выдаётся сообщение, о том, что он не найден. Поэтому, не обессудьте - <qapplication.h>

А как же мне тогда скомпилировать c-файл...? Очень я сомлюваюсь, что нельзя этого сделать.

Вообще, изначально проблема встала, когда я решил сконфигурировать исходники DjVuLibre, или как он там. Там во время конфигурации создавался файл, с расширением "c"... Но, правдатребовались qt 2 или 3... Да, да.. я и с ними этот c-файл пробовал компилировать... Не вышло... =/

no_NaMe
() автор топика
Ответ на: комментарий от no_NaMe

>Возможно и надо использовать <QApplication.h>, но мне выдаётся сообщение, о том, что он не найден. Поэтому, не обессудьте - <qapplication.h>

Не QApplication.h, а QApplication -- читайте внимательнее.

php-coder ★★★★★
()

возможно, у тебя стоит и 3-й qt, и 4-й. исполььзуй qmake, который идет с 4-й версией. у меня, к примеру, он называется qmake-qt4

friday ★★★
()
Ответ на: комментарий от no_NaMe

Qt это библиотека для C++, ты можешь сомневаться сколько угодно, но скомпилировать С-шный файл с #include <QApplication> ты не сможешь. Другие расширения для С++: .C ; .cxx ; .cc ; .c++ , возможно ты сталкивался с первым. qapplication.h в Qt 4 - служебный файл, его использовать не нужно.

Legioner ★★★★★
()
Ответ на: комментарий от Legioner

Ну я знаю, что Qt - это библиотека c++, попробую перерасширить файло! =) Спасибо за помошь.

(К слову, qmake - от 4-го)

no_NaMe
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.