Welche QT Netzwerk libs wie linken?

Alles rund um die Programmierung mit Qt
Antworten
alfonsospringer
Beiträge: 75
Registriert: 25. September 2007 20:03

Welche QT Netzwerk libs wie linken?

Beitrag von alfonsospringer »

Hallo zusammen !

Ich würde gerne einen kleinen Server mit QT programmieren. Ich habe alle QApplication.h sowie QTcpServer.h und QTcpSocket.h included und erzeuge in meinem Quellcode einfach ein Objekt von Typ QTcpServer. Das ganze lässt sich ohne Fehlermeldungen kompilieren, beim Linken bekomme ich jedoch einen Fehler. Warum? Klar, weil ich ja keine der QTNetzwerkbibliotheken eingebunden habe. In meinem QT Libs Verzeichnis befindet sich eine Lib namens libQtNetwork4.a. Ich nehme an, dass dies die richtige ist, oder? Meine mit "qmake -project" erzeugte .pro Datei sieht im Moment so aus:

Code: Alles auswählen

######################################################################
# Automatically generated by qmake (2.01a) Di 25. Sep 19:35:39 2007 
###################################################################### 

TEMPLATE = app 
TARGET = 
DEPENDPATH += . 
INCLUDEPATH += F:\Qt\4.3.1\include\QtNetwork 

# Input 
HEADERS += window.h 
SOURCES += main.cpp window.cpp
Wie muss ich diese Datei ergänzen, damit die Netzwerkbibliothek gelinkt wird?

Der Linkerfehler ist:

Code: Alles auswählen

mingw32-make -f Makefile.Release
mingw32-make[1]: Entering directory `D:/Dokumente und Einstellungen/Robert/Eigen
e Dateien/Eigene Programme/QT/tcp'
g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-rel
oc -Wl,-s -Wl,-subsystem,windows -mthreads -Wl -o "release\tcp.exe" release\main
.o release\window.o  -L"f:\Qt\4.3.1\lib" -lmingw32 -lqtmain -lQtGui4 -lQtCore4
release\main.o:main.cpp:(.text+0xd1): undefined reference to `QTcpServer::~QTcpS
erver()'
release\main.o:main.cpp:(.text+0x264): undefined reference to `QTcpServer::~QTcp
Server()'
release\main.o:main.cpp:(.text$_ZN6windowD1Ev[window::~window()]+0x5c): undefine
d reference to `QTcpServer::~QTcpServer()'
release\main.o:main.cpp:(.text$_ZN6windowD0Ev[window::~window()]+0x5c): undefine
d reference to `QTcpServer::~QTcpServer()'
release\window.o:window.cpp:(.text+0xaa): undefined reference to `_imp___ZN10QTc
pServerC1EP7QObject'
release\window.o:window.cpp:(.text+0x231): undefined reference to `QTcpServer::~
QTcpServer()'
release\window.o:window.cpp:(.text+0x32a): undefined reference to `_imp___ZN10QT
cpServerC1EP7QObject'
release\window.o:window.cpp:(.text+0x4b1): undefined reference to `QTcpServer::~
QTcpServer()'
collect2: ld returned 1 exit status
mingw32-make[1]: *** [release\tcp.exe] Error 1
mingw32-make[1]: Leaving directory `D:/Dokumente und Einstellungen/Robert/Eigene
 Dateien/Eigene Programme/QT/tcp'
mingw32-make: *** [release] Error 2
PhilipLB
Beiträge: 13
Registriert: 14. September 2007 01:49

Beitrag von PhilipLB »

Ein
QT += network
noch in die .pro-Datei.
alfonsospringer
Beiträge: 75
Registriert: 25. September 2007 20:03

Beitrag von alfonsospringer »

thx, es klappt!
Antworten