4

I've been able to get ahead from this step: Building QGIS source code on Windows 7 - Not working

I'm trying to build the latest QGIS(2.10.1) using Visual Studio 10 Express but getting these unresolved symbols while building "ALL BUILD".

In the Cmake-gui I can see these variables as undefined: QWTPOLAR_INCLUDE_DIR and QWTPOLAR_LIBRARY.

Build configuration is set to Release.

I remember while building the solution itself it showed a couple failures.

All the unresolved symbols start with Qwt in "ALL BUILD" for example:

     Creating library d:/build/src/gui/Release/qgis_gui.lib and object d:/build/src/gui/Release/qgis_gui.exp
81>qgsrasterhistogramwidget.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall QwtPlot::print(class QPainter *,class QRect const &,class QwtPlotPrintFilter const &)const " (?print@QwtPlot@@UBEXPAVQPainter@@ABVQRect@@ABVQwtPlotPrintFilter@@@Z)
81>qgshistogramwidget.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall QwtPlot::print(class QPainter *,class QRect const &,class QwtPlotPrintFilter const &)const " (?print@QwtPlot@@UBEXPAVQPainter@@ABVQRect@@ABVQwtPlotPrintFilter@@@Z)
81>qgsrasterhistogramwidget.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall QwtPlot::polish(void)" (?polish@QwtPlot@@UAEXXZ)
81>qgshistogramwidget.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall QwtPlot::polish(void)" (?polish@QwtPlot@@UAEXXZ)
81>qgsrasterhistogramwidget.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall QwtPlot::clear(void)" (?clear@QwtPlot@@UAEXXZ)
81>qgshistogramwidget.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall QwtPlot::clear(void)" (?clear@QwtPlot@@UAEXXZ)
81>qgsrasterhistogramwidget.obj : error LNK2001: unresolved external symbol "protected: virtual void __thiscall QwtPlot::drawItems(class QPainter *,class QRect const &,class QwtScaleMap const * const,class QwtPlotPrintFilter const &)const " (?drawItems@QwtPlot@@MBEXPAVQPainter@@ABVQRect@@QBVQwtScaleMap@@ABVQwtPlotPrintFilter@@@Z)
81>qgshistogramwidget.obj : error LNK2001: unresolved external symbol "protected: virtual void __thiscall QwtPlot::drawItems(class QPainter *,class QRect const &,class QwtScaleMap const * const,class QwtPlotPrintFilter const &)const " (?drawItems@QwtPlot@@MBEXPAVQPainter@@ABVQRect@@QBVQwtScaleMap@@ABVQwtPlotPrintFilter@@@Z)
81>qgsrasterhistogramwidget.obj : error LNK2001: unresolved external symbol "protected: virtual void __thiscall QwtPlot::printLegendItem(class QPainter *,class QWidget const *,class QRect const &)const " (?printLegendItem@QwtPlot@@MBEXPAVQPainter@@PBVQWidget@@ABVQRect@@@Z)
81>qgshistogramwidget.obj : error LNK2001: unresolved external symbol "protected: virtual void __thiscall QwtPlot::printLegendItem(class QPainter *,class QWidget const *,class QRect const &)const " (?printLegendItem@QwtPlot@@MBEXPAVQPainter@@PBVQWidget@@ABVQRect@@@Z)
81>qgsrasterhistogramwidget.obj : error LNK2001: unresolved external symbol "protected: virtual void __thiscall QwtPlot::printTitle(class QPainter *,class QRect const &)const " (?printTitle@QwtPlot@@MBEXPAVQPainter@@ABVQRect@@@Z)
81>qgshistogramwidget.obj : error LNK2001: unresolved external symbol "protected: virtual void __thiscall QwtPlot::printTitle(class QPainter *,class QRect const &)const " (?printTitle@QwtPlot@@MBEXPAVQPainter@@ABVQRect@@@Z)
81>qgsrasterhistogramwidget.obj : error LNK2001: unresolved external symbol "protected: virtual void __thiscall QwtPlot::printScale(class QPainter *,int,int,int,int,class QRect const &)const " (?printScale@QwtPlot@@MBEXPAVQPainter@@HHHHABVQRect@@@Z)
81>qgshistogramwidget.obj : error LNK2001: unresolved external symbol "protected: virtual void __thiscall QwtPlot::printScale(class QPainter *,int,int,int,int,class QRect const &)const " (?printScale@QwtPlot@@MBEXPAVQPainter@@HHHHABVQRect@@@Z)
81>qgsrasterhistogramwidget.obj : error LNK2001: unresolved external symbol "protected: virtual void __thiscall QwtPlot::printCanvas(class QPainter *,class QRect const &,class QRect const &,class QwtScaleMap const * const,class QwtPlotPrintFilter const &)const " (?printCanvas@QwtPlot@@MBEXPAVQPainter@@ABVQRect@@1QBVQwtScaleMap@@ABVQwtPlotPrintFilter@@@Z)
81>qgshistogramwidget.obj : error LNK2001: unresolved external symbol "protected: virtual void __thiscall QwtPlot::printCanvas(class QPainter *,class QRect const &,class QRect const &,class QwtScaleMap const * const,class QwtPlotPrintFilter const &)const " (?printCanvas@QwtPlot@@MBEXPAVQPainter@@ABVQRect@@1QBVQwtScaleMap@@ABVQwtPlotPrintFilter@@@Z)
81>qgsrasterhistogramwidget.obj : error LNK2001: unresolved external symbol "protected: virtual void __thiscall QwtPlot::printLegend(class QPainter *,class QRec

What could be causing it?

Community
  • 1
  • 1
user5858
  • 1,082
  • 4
  • 39
  • 79
  • Can you double check if you installed the latest qwt5-devel-qt4 package in OSGeo4W? And what build configuration are you using (Debug? RelWithtDebugInfo)? – David Oct 08 '15 at 17:39
  • @David how to know if latest qwt5-devel-qt4 package is installed? I'm using Release with build configuration – user5858 Oct 28 '15 at 06:34
  • just run your OSGeo4W installer and check if the qwt5-devel-qt4 package is already installed and what version it's at. – David Oct 28 '15 at 18:42
  • @David what is the value of QWTPOLAR_LIBRARY and QWTPOLAR_INCLUDE_DIR ? – user5858 Nov 01 '15 at 18:54
  • they're both sent to NOTFOUND. And the WITH_INTERNAL_QWTPOLAR option is checked. – David Nov 01 '15 at 22:33
  • Since you're using CMake check the FindFile where the library is expected to be. If it's not there - install it. – Marc-Christian Schulze Nov 08 '15 at 13:38
  • I've solved the problem by setting the QWTPOLAR_INCLUDE_DIR to [YOUR_PATH_TO_OSGEO4W]\include\qwt and QWTPOLAR_LIBRARY to [YOUR_PATH_TO_OSGEO4W]\lib\qwt5.lib. – cag Nov 23 '15 at 08:41

0 Answers0