PDA

View Full Version : Qwt 6.1.2 with Qt 5.5 link problem: qwtd.lib undef: QMetaType::registerNormalizedType



philw
3rd November 2015, 21:16
We're trying to upgrade to Qt 5.5.1, but apparently our Qt 5.5.1 Windows build is lacking an external symbol required by our Qwt 6.1.2 configuration:: QMetaType::registerNormalizedType().

We did recently successfully build our application against a Qwt 6.1.2 build with Qt 4.8.5. We're using Visual Studio 2010, 64-bit. (I'm using Windows 7).

The full error messages are below, but basically, it looks like that function is needed by these modules:



qwtd.lib (moc_qwt_plot_picker.obj)
qwtd.lib (moc_qwt_text_label.obj)
qwtd.lib (qwt_plot_item.obj)
qwtd.lib (qwt_plot.obj)
qwtd.lib (qwt_legend_data.obj)
qwtd.lib (moc_qwt_plot.obj)


Our qwtconfig.pri has these settings (commented out options are disabled):



# QWT_CONFIG += QwtDll
QWT_CONFIG += QwtPlot
QWT_CONFIG += QwtWidgets
# QWT_CONFIG += QwtOpenGL
# QWT_CONFIG += QwtSvg
# QWT_CONFIG += QwtMathML
QWT_CONFIG += QwtExamples
# QWT_CONFIG += QwtPlayground


Our Qt 5.5.1 build configuration has these options.



-prefix C:\Riverware\tools\Qt-551\qtbase
-commercial
-nomake tests
-debug-and-release
-commercial
-platform win32-msvc2010
-shared
-qt-zlib
-qt-libpng
-qt-libjpeg
-no-opengl
-no-angle
-icu
-no-strip
-saveconfig CwQt551-ConfigOut


(Notice that our Qt 5.5.1 build is WITHOUT OpenGL and ANGLE. It's not clear that we can build the prerequisites for those with Visual Studio 2010. I don't know).

The full text of the six link errors -- all "unresolved external symbols" for QMetaType::registerNormalizedType() -- can be seen in the attached text file.

Does anyone know where QMetaType::registerNormalizedType(..) (the missing symbol) would be coming from? Or if a Qwt configuration (which would hopefully work for us) can refrain from requiring that symbol?

Thank you in advance.

philw
4th November 2015, 03:32
Sorry. User error. I hadn't regenerated .vcxproj files in all parts with the same Qt5 qmake.exe versions. This caused the "unresolved external symbol" ... QMetaType::registerNormalizedType().