Kompilacja z Qt

Odpowiedz Nowy wątek
2006-08-29 12:40
0

Prosze... pomocy!!! Meczylem sie z tym juz pol roku temu i nic nie zdzialalem... odposcilem...
Teraz jednak chcialbym cos zrobic w Qt... i nie moge.... Zeby polec na takiej glupocie ??

Knoppix 5.0.1
Sciagnalem plik qt-x11-opensource-src-4.1.4.tar.gz
przenioslem do /usr/local i rozpakowalem
zmienilem nazwe ostatniego katalogu tak ze wszystko znajduje sie w /usr/local/qt
w powloce wszedlem do /usr/local/qt i zrobilem po
./configure
make
make install
zeszlo pol dnia

Utworzyl sie nowy katalog /usr/local/Trolltech/Qt-4.1.4
w /etc/profile dopisalem NA POCZATKU (nie wiem czy to wazne) pliku takie linijki

QTDIR=/usr/local/Trolltech/Qt-4.1.4
PATH=$QTDIR/bin:$PATH
if [ $MANPATH ]
then
MANPATH=$QTDIR/man:$MANPATH
else
MANPATH=$QTDIR/man
fi
if [ $LD_LIBRARY_PATH ]
then
LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
else
LD_LIBRARY_PATH=$QTDIR/lib
fi
LIBRARY_PATH=$LD_LIBRARY_PATH
if [ $CPLUS_INCLUDE_PATH ]
then
CPLUS_INCLUDE_PATH=$QTDIR/include:$CPLUS_INCLUDE_PATH
else
CPLUS_INCLUDE_PATH=$QTDIR/include
fi

export QTDIR PATH MANPATH LD_LIBRARY_PATH LIBRARY_PATH
export CPLUS_INCLUDE_PATH

Pisali zeby napisac
QTDIR=/usr/local/qt a nie tak jak ja zrobilem ale czy bylby sens podawac sciezke do plikow ze zrodlami?

Zainstalowalem jeszcze qt-devel w wersji 4.1.4.

Probuje na takim kodzie

#include <QtGui/QApplication>
#include <QtGui/QWidget>
#include <QtGui/QPushButton>
 
int main (int argc, char **argv)
{
    QApplication a( argc, argv);
 
    QWidget mainwindow;
    mainwindow.setMinimumSize( 200, 100);
    mainwindow.setMaximumSize (200, 100);
    QPushButton helloworld("Czesc", &mainwindow);
    helloworld.setGeometry(20, 20, 160, 60);
    mainwindow.show();
    return a.exec();
}

Robie później

qmake -project
qmake
make

Po qmake -project nic sie nie stalo.
Po qmake kilkadziesiat razy wypisal

QFile::open: No file name specified
QFile::open: No file name specified

a pozniej wiele razy to

qt_config.prf:8: Unknown test function: debug
Error processing project file:
QFile::open: No file name specified
QFile::open: No file name specified
qt_config.prf:8: Unknown test function: debug
Error processing project file:
QFile::open: No file name specified
QFile::open: No file name specified
qt_config.prf:8: Unknown test function: debug

Po make bylo to

g++ -o kodzik kodzik.o -L/usr/X11R6/lib -lXext -lX11 -lm
kodzik.o: In function main': kodzik.cpp:(.text+0x27): undefined reference toQApplication::QApplication(int&, char)'
kodzik.cpp:(.text+0x43): undefined reference to QWidget::QWidget(QWidget*, QFlags<Qt::WindowType>)' kodzik.cpp:(.text+0x5d): undefined reference toQWidget::setMinimumSize(int, int)'
kodzik.cpp:(.text+0x77): undefined reference to QWidget::setMaximumSize(int, int)' kodzik.cpp:(.text+0x7e): undefined reference toQString::shared_null'
kodzik.cpp:(.text+0x85): undefined reference to QString::shared_null' kodzik.cpp:(.text+0xa5): undefined reference toQString::fromAscii(char const, int)'
kodzik.cpp:(.text+0xb7): undefined reference to QString::operator=(QString const&)' kodzik.cpp:(.text+0xcf): undefined reference toQString::free(QString::Data
)'
kodzik.cpp:(.text+0xe2): undefined reference to QPushButton::QPushButton(QString const&, QWidget*)' kodzik.cpp:(.text+0xfa): undefined reference toQString::free(QString::Data)'
kodzik.cpp:(.text+0x125): undefined reference to QWidget::setGeometry(QRect const&)' kodzik.cpp:(.text+0x136): undefined reference toQWidget::setVisible(bool)'
kodzik.cpp:(.text+0x13b): undefined reference to QApplication::exec()' kodzik.cpp:(.text+0x145): undefined reference toQPushButton::~QPushButton()'
kodzik.cpp:(.text+0x14d): undefined reference to QWidget::~QWidget()' kodzik.cpp:(.text+0x158): undefined reference toQApplication::~QApplication()'
kodzik.cpp:(.text+0x16f): undefined reference to QApplication::~QApplication()' kodzik.cpp:(.text+0x181): undefined reference toQPushButton::~QPushButton()'
kodzik.cpp:(.text+0x189): undefined reference to QWidget::~QWidget()' kodzik.cpp:(.text+0x1a5): undefined reference toQString::free(QString::Data
)'
kodzik.cpp:(.text+0x1c1): undefined reference to `QString::free(QString::Data)'
collect2: ld returned 1 exit status
make:
[kodzik] Error 1

Jest już tak blisko....:( proszę pomóżcie.

Pozostało 580 znaków

2006-08-29 22:11
0

Jeżeli qmake nie zadziałał to nawet nie masz co odpalać make.

Brakuje ci parę includ'ów jak na przykład:

#include <qstring.h>
#include <qfile.h>

itp.

Za każdym razem jak qmake zwraca problem z jakąś klasą Qt sprawdź czy ją dałeś w #include<nazwa_klasy.h>.

P.S. Nie łatwiej zamiast bawić się w kompilację całego Qt zainstalować libqt4-devel czy cuś z repozytoriów.
P.S.S. Ściągnij sobie w www.e-linux.pl źródła programu e-przelewy i sprawdź czy ci cię kompilują.

Pozostało 580 znaków

2006-08-29 23:30
0

Dolaczam sie do pytania, bo mam dokladnie to samo :/

Pozostało 580 znaków

2006-08-30 09:57
0

Uzywasz qmake z innej wersji, ktora pewnie masz juz zainstalowana w systemie.
Sproboj tak:
/usr/local/Trolltech/Qt-4.1.4/bin/qmake -project
/usr/local/Trolltech/Qt-4.1.4/bin/qmake
make

walec-51:
Od wersji Qt > 4 zalecane jest includowanie naglowkow bez .h
np. <qstring> ;)


Stwórzmy boga na własne podobieństwo
Niech będzie mały i parszywy,
Wtedy wszyscy w niego uwierzą...

Pozostało 580 znaków

2006-08-30 12:50
0

Malcolm, <font size="3">działa</span>!!!!!!!!!!!!!!!

Dziękuję baaaaaardzo!!!!

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0