[QGIS-Developer] Upgrading to V3

Maaza Mekuria mcmekuria at gmail.com
Sun Oct 27 21:33:39 PDT 2019


Tjank you Nyall, i have already been able to build C++ QGIS , the only
thing i can't do right now is get a new plugin to be registered within the
UI.  It has become a secret art like magic to do this.

I am bemoaning the lack of user guidance here.  I will write one once i get
through this. I plan to put at least  one example  code on how to generate
a stub plugin.
I cleaned all the compile errors, and there an obscure message on some
fumction that i don't  even have in my plugin that is coming up during
compile.  I am compiling only my plugin separately.
  I used a simple UI (i am not new to UI's in C++ as i have done several
more complex ones before.

Thank you for your kindness though.  And i will touch base more.

Blessings and Happy All Hallows Eve.

On Sun, Oct 27, 2019, 12:52 PM Nyall Dawson <nyall.dawson at gmail.com> wrote:

> 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.
>
> Nyall
>
>
> >
> >   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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20191027/f94bd504/attachment-0001.html>


More information about the QGIS-Developer mailing list