[QGIS-Developer] Upgrading to V3

Nyall Dawson nyall.dawson at gmail.com
Sun Oct 27 15:51:59 PDT 2019

On Sun, 27 Oct 2019 at 11:27, Maaza Mekuria <mcmekuria at gmail.com> wrote:
> Nyall ,  Thank you for your response.
>  I heard that argument before and replied  by saying that i had tried Python and the program was too slow for the application i was working on (data structures and storage) and that was my main reason to use C++.  But i was told that i need to learn more Python and be a better programmer etc ...
>  I felt i was completely ignored. At that time  i was able to do it on my own becuase there was a lot more private activity.  I think now QGIS has almost become corporate and there is some hesitation to share information (not knowledge) unless a transaction happens.

In complete honesty, you're totally misreading the situation. There's
nothing malicious or hidden going on here at all. It's entirely the
fact that c++ plugins, especially on windows, are a PITA to develop
and a totally lottery as to whether they'll work. The only assistance
the project is **able** to provide has already been provided -- "avoid
c++ plugins"!

My personal thoughts: I would LOVE nothing more than to be able to
help people like yourself with problems like this, and donate 3-4
hours of my time to helping you fix your local Windows build and get
things working for you. (There's absolutely no sarcasm here, I really
mean that). I wish society was structured in such a way as to make
this possible. But the world just doesn't work that way, and there's
**nothing** that the QGIS project or the people involved with it can
do to change that. So your only options here are:
1. ask for help, which you've already done, and unfortunately no-one
has an answer for you. Maybe you could "widen the net" and try asking
on other channels outside of this mailing list and stackexchange, and
hopefully find someone who has previously solved this problem.
2. (as Jürgen stated) push through and find the solution for yourself
-- the source is all available and obviously have some development
skills to help here.
3. follow the (unfortunate? unfair?) process society has evolved to
get others to do work for you, and pay someone to find a solution to
your build issue.


>   In my opinion this has become a barrier to innovate.
> Thank you again,
> .
> On Sat, Oct 26, 2019, 2:35 PM Nyall Dawson <nyall.dawson at gmail.com> wrote:
>> 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