<div dir="auto">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.  <div dir="auto"><br></div><div dir="auto">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.  </div><div dir="auto">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. </div><div dir="auto">  I used a simple UI (i am not new to UI's in C++ as i have done several more complex ones before.</div><div dir="auto"><br></div><div dir="auto">Thank you for your kindness though.  And i will touch base more.</div><div dir="auto"><br></div><div dir="auto">Blessings and Happy All Hallows Eve.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Oct 27, 2019, 12:52 PM Nyall Dawson <<a href="mailto:nyall.dawson@gmail.com">nyall.dawson@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Sun, 27 Oct 2019 at 11:27, Maaza Mekuria <<a href="mailto:mcmekuria@gmail.com" target="_blank" rel="noreferrer">mcmekuria@gmail.com</a>> wrote:<br>
><br>
> Nyall ,  Thank you for your response.<br>
>  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 ...<br>
><br>
>  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.<br>
<br>
In complete honesty, you're totally misreading the situation. There's<br>
nothing malicious or hidden going on here at all. It's entirely the<br>
fact that c++ plugins, especially on windows, are a PITA to develop<br>
and a totally lottery as to whether they'll work. The only assistance<br>
the project is **able** to provide has already been provided -- "avoid<br>
c++ plugins"!<br>
<br>
My personal thoughts: I would LOVE nothing more than to be able to<br>
help people like yourself with problems like this, and donate 3-4<br>
hours of my time to helping you fix your local Windows build and get<br>
things working for you. (There's absolutely no sarcasm here, I really<br>
mean that). I wish society was structured in such a way as to make<br>
this possible. But the world just doesn't work that way, and there's<br>
**nothing** that the QGIS project or the people involved with it can<br>
do to change that. So your only options here are:<br>
1. ask for help, which you've already done, and unfortunately no-one<br>
has an answer for you. Maybe you could "widen the net" and try asking<br>
on other channels outside of this mailing list and stackexchange, and<br>
hopefully find someone who has previously solved this problem.<br>
2. (as Jürgen stated) push through and find the solution for yourself<br>
-- the source is all available and obviously have some development<br>
skills to help here.<br>
3. follow the (unfortunate? unfair?) process society has evolved to<br>
get others to do work for you, and pay someone to find a solution to<br>
your build issue.<br>
<br>
Nyall<br>
<br>
<br>
><br>
>   In my opinion this has become a barrier to innovate.<br>
><br>
> Thank you again,<br>
><br>
> .<br>
><br>
> On Sat, Oct 26, 2019, 2:35 PM Nyall Dawson <<a href="mailto:nyall.dawson@gmail.com" target="_blank" rel="noreferrer">nyall.dawson@gmail.com</a>> wrote:<br>
>><br>
>> On Sun, 27 Oct 2019 at 09:01, Maaza Mekuria <<a href="mailto:mcmekuria@gmail.com" target="_blank" rel="noreferrer">mcmekuria@gmail.com</a>> wrote:<br>
>> ><br>
>> > Thank you Etienne.  I did just what you suggested. But did not het anywhere.  I still get the same error message.<br>
>> ><br>
>> > My question did not get resolved and only for lack of information i can't move forward with the upgrade.<br>
>> > 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.<br>
>> ><br>
>> > It is a pity that I can't upgrade this plugin for lack of information.<br>
>> ><br>
>> > 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.<br>
>><br>
>> There's no conspiracy here -- rather, c++ plugins have always been<br>
>> horrible to build, deploy and debug (especially on Windows). Over time<br>
>> the core project recognised this, realised it was a bad situation for<br>
>> developers like yourself, and started encouraging people to completely<br>
>> avoid using c++ plugins and move to Python wherever possible.<br>
>><br>
>> I strongly suspect that the reason no-one has answered your question<br>
>> is just because no-one **knows** the answer! (I certainly don't -- I<br>
>> saw your earlier thread, and the only advice I was able to offer at<br>
>> the time was what Etienne had already suggested).<br>
>><br>
>> Nyall<br>
>><br>
>><br>
>> ><br>
>> > Thank for your help anyway.<br>
>> ><br>
>> ><br>
>> > On Sun, Sep 15, 2019, 9:11 PM Etienne Trimaille <<a href="mailto:etienne.trimaille@gmail.com" target="_blank" rel="noreferrer">etienne.trimaille@gmail.com</a>> wrote:<br>
>> >><br>
>> >> Hi,<br>
>> >><br>
>> >> I can't really answer your question but you should use <a href="https://qgis.org/api/classQgsMapLayerComboBox.html" rel="noreferrer noreferrer" target="_blank">https://qgis.org/api/classQgsMapLayerComboBox.html</a> instead of creating your own combobox. (if possible).<br>
>> >><br>
>> >> Etienne<br>
>> >><br>
>> >> Le dim. 15 sept. 2019 à 10:11, Maaza Mekuria <<a href="mailto:mcmekuria@gmail.com" target="_blank" rel="noreferrer">mcmekuria@gmail.com</a>> a écrit :<br>
>> >>><br>
>> >>> QGIS Layer List upgrade to V3 C++ plugin - Geographic Information Systems Stack Exchange <style>body,.top-bar{margin-top:1.9em}</style><br>
>> >>><br>
>> >>> 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.<br>
>> >>><br>
>> >>> 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 ]<br>
>> >>><br>
>> >>> This is portion of the code generating the error.  Where cmbNetSourceLayer is a combo-box .<br>
>> >>><br>
>> >>> void tarjan_sccGui::populateLayers( QString const& url ) { cmbNetSourceLayer->clear();<br>
>> >>><br>
>> >>> QString layerName; QString layerType;<br>
>> >>><br>
>> >>> // fill list of layers<br>
>> >>> QMap<QString, QgsMapLayer*> mapLayers = QgsProject::instance()->mapLayers();<br>
>> >>> QMap<QString, QgsMapLayer*>::iterator layer_it = mapLayers.begin();<br>
>> >>><br>
>> >>> for (; layer_it != mapLayers.end(); ++layer_it)<br>
>> >>> {<br>
>> >>>     QgsVectorLayer* vl = dynamic_cast<QgsVectorLayer*>(layer_it.value());<br>
>> >>>     if (!vl)<br>
>> >>>         continue;<br>
>> >>>     else<br>
>> >>><br>
>> >>>      cmbNetSourceLayer->addItem(vl->name() );<br>
>> >>> }<br>
>> >>><br>
>> >>> 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 ]<br>
>> >>><br>
>> >>> No idea what must be done to overcome this error.  The cited module appears to be an optional data module.<br>
>> >>><br>
>> >>><br>
>> >>> Any help is appreciated.<br>
>> >>><br>
>> >>> _______________________________________________<br>
>> >>> QGIS-Developer mailing list<br>
>> >>> <a href="mailto:QGIS-Developer@lists.osgeo.org" target="_blank" rel="noreferrer">QGIS-Developer@lists.osgeo.org</a><br>
>> >>> List info: <a href="https://lists.osgeo.org/mailman/listinfo/qgis-developer" rel="noreferrer noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/qgis-developer</a><br>
>> >>> Unsubscribe: <a href="https://lists.osgeo.org/mailman/listinfo/qgis-developer" rel="noreferrer noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/qgis-developer</a><br>
>> ><br>
>> > _______________________________________________<br>
>> > QGIS-Developer mailing list<br>
>> > <a href="mailto:QGIS-Developer@lists.osgeo.org" target="_blank" rel="noreferrer">QGIS-Developer@lists.osgeo.org</a><br>
>> > List info: <a href="https://lists.osgeo.org/mailman/listinfo/qgis-developer" rel="noreferrer noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/qgis-developer</a><br>
>> > Unsubscribe: <a href="https://lists.osgeo.org/mailman/listinfo/qgis-developer" rel="noreferrer noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/qgis-developer</a><br>
</blockquote></div>