Qt 5.0.2 on 64-bit Windows 7 and moc issue
I am a Qt novice and inherited a running Qt app (Qt SDK 4.8) based on Linux and told to port in to 64-bit Windows 7 using MS VS2012. I downloaded Qt 5.0.2 and after making decent progress ran into a obstacle I can’t figure out. The moc app generates a .cpp file which contains:
#error “The header file ‘mhnodegui.h’ doesn’t include <QObject>.”
#elif Q_MOC_OUTPUT_REVISION != 63
#error “This file was generated using the moc from 4.8.2. It”
#error “cannot be used with the include files from this version of Qt.”
#error “(The moc has changed too much.)”
This is maybe more a tools forum thing. Maybe move this post to get better answers?! IYAM what you describe is indeed strange. Did you do a clean install and do you use the latest qt creator to go along with it? It got messed up at my station before causing strange behavior while compiling. It used the qmake of a different qtCreator etc.
Problem resolved but still confused about something. Lets call the .cpp file generated by moc.exe moc_x.cpp. I didn’t realize until today that the file is output in my designated ‘debug’ directory along with obj files etc. However, there is a copy of moc_x.cpp in the directory which contains the other source files and that file was left over from the previous engineer who had worked with Qt 4.8.4. I was looking at that old file and thinking I was looking at the latest moc output, thus my confusion. The debug/moc_x.cpp was created correctly and referenced the latest version of moc. I was further confused when the latest moc_x.cpp caused the compiler to run out of heap space and I jumped to the conclusion that something was very wrong. Turns out all I had to do was increase the amount of heap space allocated to the VS 2012 compiler (QMAKE_CXXFLAGS += /Zm2000) and the compilation continued to a successful conclusion. Thanks for the help.