[QGIS-Developer] Upgrading to V3

Nyall Dawson nyall.dawson at gmail.com
Sat Oct 26 17:35:23 PDT 2019


On Sun, 27 Oct 2019 at 09:01, Maaza Mekuria <mcmekuria at gmail.com> wrote:
>
> Thank you Etienne.  I did just what you suggested. But did not het anywhere.  I still get the same error message.
>
> My question did not get resolved and only for lack of information i can't move forward with the upgrade.
> What i think has happened is that QGIS leadership has chosen to control the access gates to "ousiders" who want to program in C++ and related functiions in producing plugins by controlling how plugins are registered.
>
> It is a pity that I can't upgrade this plugin for lack of information.
>
> In the past i have donated money and willing to donate time and money.  Whay is there so much secrecy on the basic C++ plugin initialization and registry?  It does not make for a good and inclusive  policy.

There's no conspiracy here -- rather, c++ plugins have always been
horrible to build, deploy and debug (especially on Windows). Over time
the core project recognised this, realised it was a bad situation for
developers like yourself, and started encouraging people to completely
avoid using c++ plugins and move to Python wherever possible.

I strongly suspect that the reason no-one has answered your question
is just because no-one **knows** the answer! (I certainly don't -- I
saw your earlier thread, and the only advice I was able to offer at
the time was what Etienne had already suggested).

Nyall


>
> Thank for your help anyway.
>
>
> On Sun, Sep 15, 2019, 9:11 PM Etienne Trimaille <etienne.trimaille at gmail.com> wrote:
>>
>> Hi,
>>
>> I can't really answer your question but you should use https://qgis.org/api/classQgsMapLayerComboBox.html instead of creating your own combobox. (if possible).
>>
>> Etienne
>>
>> Le dim. 15 sept. 2019 à 10:11, Maaza Mekuria <mcmekuria at gmail.com> a écrit :
>>>
>>> QGIS Layer List upgrade to V3 C++ plugin - Geographic Information Systems Stack Exchange <style>body,.top-bar{margin-top:1.9em}</style>
>>>
>>> I was upgrading a c++ plugin that I had used in the past and almost eliminated all the the usual compiler errors due to version changes according for the current version (3.6). The plugin used to collect current map canvas layers in a combo list box for selection. I am getting two errors that I can't figure out what to do with. This code compiled without problem pre-2.0.
>>>
>>> The first happens to be about QGSMapLayer that can't be instantiated because it is turned as an abstract class and I am getting an error [Severity Code Description Project File Line Source Suppression State Error C2259 'QgsMapLayer': cannot instantiate abstract class tarjan_sccplugin C:\OSGeo4W64\apps\Qt5\include\QtCore\qlist.h 214 Build ]
>>>
>>> This is portion of the code generating the error.  Where cmbNetSourceLayer is a combo-box .
>>>
>>> void tarjan_sccGui::populateLayers( QString const& url ) { cmbNetSourceLayer->clear();
>>>
>>> QString layerName; QString layerType;
>>>
>>> // fill list of layers
>>> QMap<QString, QgsMapLayer*> mapLayers = QgsProject::instance()->mapLayers();
>>> QMap<QString, QgsMapLayer*>::iterator layer_it = mapLayers.begin();
>>>
>>> for (; layer_it != mapLayers.end(); ++layer_it)
>>> {
>>>     QgsVectorLayer* vl = dynamic_cast<QgsVectorLayer*>(layer_it.value());
>>>     if (!vl)
>>>         continue;
>>>     else
>>>
>>>      cmbNetSourceLayer->addItem(vl->name() );
>>> }
>>>
>>> The second error appears to be in explicit declaration for the plugin. Something has changed in how the plugins are initiated. [Severity Code Description Project File Line Source Suppression State Error (active) invalid explicit instantiation declaration tarjan_sccplugin d:\GIS\v3\Quantum-GIS\src\core\qgsoptionalexpression.h 82 IntelliSense ]
>>>
>>> No idea what must be done to overcome this error.  The cited module appears to be an optional data module.
>>>
>>>
>>> Any help is appreciated.
>>>
>>> _______________________________________________
>>> QGIS-Developer mailing list
>>> QGIS-Developer at lists.osgeo.org
>>> List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
>>> Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer
>
> _______________________________________________
> QGIS-Developer mailing list
> QGIS-Developer at lists.osgeo.org
> List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
> Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer


More information about the QGIS-Developer mailing list