I am trying to remind myself some C++, and also learn about Qt.
I am working on Windows. I have installed Qt (5.1.0), MinGW (g++ 4.6.2), Gnu Make (3.81).
I am trying to compile a simple Qt app. The most basic case is this:
#include <QtWidgets>
#include <QtGui>
int main (int argc, char* argv[]) {
QApplication app(argc, argv);
QTextStream cout(stdout);
return EXIT_SUCCESS;
}
The project file is:
TEMPLATE = app
TARGET = example1
INCLUDEPATH += .
# Input
SOURCES += fac1.cpp
QT += gui widgets core
When I run
qmake
it generates the Makefile.
But then with make
I get this:
C:\src\early-examples\example1>make
make -f Makefile.Release
make[1]: Entering directory `C:/src/early-examples/example1'
g++ -Wl,-s -Wl,-subsystem,console -mthreads -o release\example1.exe release/fac1.o -LC:\Qt\Qt5.1.0\\5.1.0\msvc2012_64\lib -lQt5Widgets -lQt5Gui -lQt5Core -llibEGL -llibGLESv2 -lgdi32 -luser32
release/fac1.o:fac1.cpp:(.text.startup+0x2e): undefined reference to `_imp___ZN12QApplicationC1ERiPPci'
release/fac1.o:fac1.cpp:(.text.startup+0x37): undefined reference to `_imp___ZN12QApplicationD1Ev'
collect2: ld returned 1 exit status
make[1]: *** [release\example1.exe] Error 1
make[1]: Leaving directory `C:/src/early-examples/example1'
make: *** [release] Error 2
Can you tell me what is wrong?
The problem here is you appear to be using Visual Studio 2012 libraries for your mingw builds. You need to link to the mingw compiled Qt instead.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With