[Qgis-developer] QGIS build error in visual studio

Vincent Mora vincent.mora at oslandia.com
Thu Jan 23 16:10:30 PST 2014


This is apparently due to a difference in implementation of std::swap. 
Sorry for that.

This should fix the problem: https://github.com/qgis/QGIS/pull/1106

On 23/01/2014 18:42, A Huarte wrote:
> Hi dev, now I have updated my master repository, I can not build QGIS in visual studio.
>
> May be this commit ?
> https://github.com/qgis/QGIS/commit/e8205c98c938b60569c30d5c0bbec3acab1f441a
>
>
> I get these errors...
>
> 2>  qgssinglesymbolrendererv2.cpp
> 2>c:\Archivos de programa\Microsoft Visual Studio 10.0\VC\include\utility(102): error C2248: 'QScopedPointer<T>::QScopedPointer' : cannot access private member declared in class 'QScopedPointer<T>'
> 2>          with
> 2>          [
> 2>              T=QgsSymbolV2
> 2>          ]
> 2>          D:\TFS_OSGeo\SIT\SIG_SDK\OSGeo\OSGeo4W\include\qt4\QtCore/qscopedpointer.h(170) : see declaration of 'QScopedPointer<T>::QScopedPointer'
> 2>          with
> 2>          [
> 2>              T=QgsSymbolV2
> 2>          ]
> 2>          ..\..\..\QGIS\src\core\symbology-ng\qgssinglesymbolrendererv2.cpp(59) : see reference to function template instantiation 'void std::swap<QScopedPointer<T>>(_Ty &,_Ty &)' being compiled
> 2>          with
> 2>          [
> 2>              T=QgsSymbolV2,
> 2>              _Ty=QScopedPointer<QgsSymbolV2>
> 2>          ]
> 2>c:\Archivos de programa\Microsoft Visual Studio 10.0\VC\include\utility(103): error C2248: 'QScopedPointer<T>::operator =' : cannot access private member declared in class 'QScopedPointer<T>'
> 2>          with
> 2>          [
> 2>              T=QgsSymbolV2
> 2>          ]
> 2>          D:\TFS_OSGeo\SIT\SIG_SDK\OSGeo\OSGeo4W\include\qt4\QtCore/qscopedpointer.h(170) : see declaration of 'QScopedPointer<T>::operator ='
> 2>          with
> 2>          [
> 2>              T=QgsSymbolV2
> 2>          ]
> 2>c:\Archivos de programa\Microsoft Visual Studio 10.0\VC\include\utility(104): error C2248: 'QScopedPointer<T>::operator =' : cannot access private member declared in class 'QScopedPointer<T>'
> 2>          with
> 2>          [
> 2>              T=QgsSymbolV2
> 2>          ]
> 2>          D:\TFS_OSGeo\SIT\SIG_SDK\OSGeo\OSGeo4W\include\qt4\QtCore/qscopedpointer.h(170) : see declaration of 'QScopedPointer<T>::operator ='
> 2>          with
> 2>          [
> 2>              T=QgsSymbolV2
> 2>          ]
> 2>c:\Archivos de programa\Microsoft Visual Studio 10.0\VC\include\utility(102): error C2248: 'QScopedPointer<T>::QScopedPointer' : cannot access private member declared in class 'QScopedPointer<T>'
> 2>          with
> 2>          [
> 2>              T=QgsExpression
> 2>          ]
> 2>          D:\TFS_OSGeo\SIT\SIG_SDK\OSGeo\OSGeo4W\include\qt4\QtCore/qscopedpointer.h(170) : see declaration of 'QScopedPointer<T>::QScopedPointer'
> 2>          with
> 2>          [
> 2>              T=QgsExpression
> 2>          ]
> 2>          ..\..\..\QGIS\src\core\symbology-ng\qgssinglesymbolrendererv2.cpp(60) : see reference to function template instantiation 'void std::swap<QScopedPointer<T>>(_Ty &,_Ty &)' being compiled
> 2>          with
> 2>          [
> 2>              T=QgsExpression,
> 2>              _Ty=QScopedPointer<QgsExpression>
> 2>          ]
> 2>c:\Archivos de programa\Microsoft Visual Studio 10.0\VC\include\utility(103): error C2248: 'QScopedPointer<T>::operator =' : cannot access private member declared in class 'QScopedPointer<T>'
> 2>          with
> 2>          [
> 2>              T=QgsExpression
> 2>          ]
> 2>          D:\TFS_OSGeo\SIT\SIG_SDK\OSGeo\OSGeo4W\include\qt4\QtCore/qscopedpointer.h(170) : see declaration of 'QScopedPointer<T>::operator ='
> 2>          with
> 2>          [
> 2>              T=QgsExpression
> 2>          ]
> 2>c:\Archivos de programa\Microsoft Visual Studio 10.0\VC\include\utility(104): error C2248: 'QScopedPointer<T>::operator =' : cannot access private member declared in class 'QScopedPointer<T>'
> 2>          with
> 2>          [
> 2>              T=QgsExpression
> 2>          ]
> 2>          D:\TFS_OSGeo\SIT\SIG_SDK\OSGeo\OSGeo4W\include\qt4\QtCore/qscopedpointer.h(170) : see declaration of 'QScopedPointer<T>::operator ='
> 2>          with
> 2>          [
> 2>              T=QgsExpression
> 2>          ]
> 2>  qgscategorizedsymbolrendererv2.cpp
> 2>c:\Archivos de programa\Microsoft Visual Studio 10.0\VC\include\utility(102): error C2248: 'QScopedPointer<T>::QScopedPointer' : cannot access private member declared in class 'QScopedPointer<T>'
> 2>          with
> 2>          [
> 2>              T=QgsSymbolV2
> 2>          ]
> 2>          D:\TFS_OSGeo\SIT\SIG_SDK\OSGeo\OSGeo4W\include\qt4\QtCore/qscopedpointer.h(170) : see declaration of 'QScopedPointer<T>::QScopedPointer'
> 2>          with
> 2>          [
> 2>              T=QgsSymbolV2
> 2>          ]
> 2>          ..\..\..\QGIS\src\core\symbology-ng\qgscategorizedsymbolrendererv2.cpp(59) : see reference to function template instantiation 'void std::swap<QScopedPointer<T>>(_Ty &,_Ty &)' being compiled
> 2>          with
> 2>          [
> 2>              T=QgsSymbolV2,
> 2>              _Ty=QScopedPointer<QgsSymbolV2>
> 2>          ]
> 2>c:\Archivos de programa\Microsoft Visual Studio 10.0\VC\include\utility(103): error C2248: 'QScopedPointer<T>::operator =' : cannot access private member declared in class 'QScopedPointer<T>'
> 2>          with
> 2>          [
> 2>              T=QgsSymbolV2
> 2>          ]
> 2>          D:\TFS_OSGeo\SIT\SIG_SDK\OSGeo\OSGeo4W\include\qt4\QtCore/qscopedpointer.h(170) : see declaration of 'QScopedPointer<T>::operator ='
> 2>          with
> 2>          [
> 2>              T=QgsSymbolV2
> 2>          ]
> 2>c:\Archivos de programa\Microsoft Visual Studio 10.0\VC\include\utility(104): error C2248: 'QScopedPointer<T>::operator =' : cannot access private member declared in class 'QScopedPointer<T>'
> 2>          with
> 2>          [
> 2>              T=QgsSymbolV2
> 2>          ]
> 2>          D:\TFS_OSGeo\SIT\SIG_SDK\OSGeo\OSGeo4W\include\qt4\QtCore/qscopedpointer.h(170) : see declaration of 'QScopedPointer<T>::operator ='
> 2>          with
> 2>          [
> 2>              T=QgsSymbolV2
> 2>          ]
> 2>  qgsgraduatedsymbolrendererv2.cpp
> 2>c:\Archivos de programa\Microsoft Visual Studio 10.0\VC\include\utility(102): error C2248: 'QScopedPointer<T>::QScopedPointer' : cannot access private member declared in class 'QScopedPointer<T>'
> 2>          with
> 2>          [
> 2>              T=QgsSymbolV2
> 2>          ]
> 2>          D:\TFS_OSGeo\SIT\SIG_SDK\OSGeo\OSGeo4W\include\qt4\QtCore/qscopedpointer.h(170) : see declaration of 'QScopedPointer<T>::QScopedPointer'
> 2>          with
> 2>          [
> 2>              T=QgsSymbolV2
> 2>          ]
> 2>          ..\..\..\QGIS\src\core\symbology-ng\qgsgraduatedsymbolrendererv2.cpp(65) : see reference to function template instantiation 'void std::swap<QScopedPointer<T>>(_Ty &,_Ty &)' being compiled
> 2>          with
> 2>          [
> 2>              T=QgsSymbolV2,
> 2>              _Ty=QScopedPointer<QgsSymbolV2>
> 2>          ]
> 2>c:\Archivos de programa\Microsoft Visual Studio 10.0\VC\include\utility(103): error C2248: 'QScopedPointer<T>::operator =' : cannot access private member declared in class 'QScopedPointer<T>'
> 2>          with
> 2>          [
> 2>              T=QgsSymbolV2
> 2>          ]
> 2>          D:\TFS_OSGeo\SIT\SIG_SDK\OSGeo\OSGeo4W\include\qt4\QtCore/qscopedpointer.h(170) : see declaration of 'QScopedPointer<T>::operator ='
> 2>          with
> 2>          [
> 2>              T=QgsSymbolV2
> 2>          ]
> 2>c:\Archivos de programa\Microsoft Visual Studio 10.0\VC\include\utility(104): error C2248: 'QScopedPointer<T>::operator =' : cannot access private member declared in class 'QScopedPointer<T>'
> 2>          with
> 2>          [
> 2>              T=QgsSymbolV2
> 2>          ]
> 2>          D:\TFS_OSGeo\SIT\SIG_SDK\OSGeo\OSGeo4W\include\qt4\QtCore/qscopedpointer.h(170) : see declaration of 'QScopedPointer<T>::operator ='
> 2>          with
> 2>          [
> 2>              T=QgsSymbolV2
> 2>          ]
>
> Thanks in advance
>
>
> _______________________________________________
> Qgis-developer mailing list
> Qgis-developer at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/qgis-developer

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20140124/88719d3e/attachment-0001.html>


More information about the Qgis-developer mailing list