user349026
user349026

Reputation:

Cannot get a QT "hello world" to work!

#include <QtCore/QCoreApplication>
#include <QtGui/QLabel>
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    QLabel label("Hello world");
    label.show();
    return a.exec();
}

I am using QTCreator, I installed QT 4.7 on windows. Now every time I compile I get this error:

:: error: collect2: ld returned 1 exit status
With mingw32 giving me the following
tmp/obj/debug_shared/main.o: In function `main': 
E:\Qt\2010.04\qt\QTHello-build-desktop/../QTHello/main.cpp:6: undefined reference to `_imp___ZN6QLabelC1ERK7QStringP7QWidget6QFlagsIN2Qt10WindowTypeEE' 
E:\Qt\2010.04\qt\QTHello-build-desktop/../QTHello/main.cpp:8: undefined reference to `_imp___ZN6QLabelD1Ev' 
E:\Qt\2010.04\qt\QTHello-build-desktop/../QTHello/main.cpp:8: undefined reference to `_imp___ZN6QLabelD1Ev' 
collect2: ld returned 1 exit status 
mingw32-make[1]: *** [debug\QTHello.exe] Error 1 
mingw32-make: *** [debug-all] Error 2 
The process "E:/Qt/2010.04/mingw/bin/mingw32-make.exe" exited with code %2.
Error while building project QTHello (target: Desktop)
When executing build step 'Make'

Whats the problem??

Upvotes: 4

Views: 2136

Answers (5)

Frank Osterfeld
Frank Osterfeld

Reputation: 25165

Also, for UI applications you must use QApplication. QCoreApplication is for CLI-only tools.

Upvotes: 1

Patrice Bernassola
Patrice Bernassola

Reputation: 14436

You want to create a Hello World app with QT? Really simple:

  1. Create a new GUI app into QtCreator
  2. Open the ui file and add a label using the QtDesigner embedded into QtCreator
  3. Compile and launch

You have your Hello World application done with Qt

Then if you want to know how to write a QTGui application, just open files in project to see what is written in them.

Upvotes: 0

Narek
Narek

Reputation: 39881

Create a Qt GUI project and olny then write what you have written.

Upvotes: 5

Dr. Snoopy
Dr. Snoopy

Reputation: 56377

Are you linking with QtGui? If you don't, do it.

Upvotes: 1

Matti Virkkunen
Matti Virkkunen

Reputation: 65156

Your project file is probably not including the required stuff. Do you have either

TEMPLATE = app

or

QT += gui

in your .pro file?

Upvotes: 2

Related Questions