Re: IDE: Accessing main settings outside of ScIDE::Main class
| Newsgroups | gmane.comp.audio.supercollider.devel |
|---|---|
| Message-ID | <CAB_zQYsF4nXfq6vvN771HD1VPdBv-LG2fsXm3+hCtBoLnNXKyw@mail.gmail.com> |
> How to proceed? Maybe I should push my branch to my fork and someone else can take a look? You should move the function you're working on to help_browser.cpp. It will solve your compiler error (that file includes main.hpp which has the definition you need), and you will also get faster build times because every edit will only lead to recompilation of a single TU, and not every TU helpbrowser.hpp is included in (from a quick search it looks like there are 5). On Sat, Mar 10, 2018, 9:50 AM brian heim <[email protected]> wrote: > On Sat, Mar 10, 2018, 8:09 AM <[email protected]> wrote: > >> ---- On Thu, 15 Feb 2018 12:00:01 +0800 <[email protected]> wrote ---- >> > > > >> /home/dlm/share/supercollider/editors/sc-ide/widgets/help_browser.hpp:170:37: >> error: incomplete type ‘ScIDE::Main’ used in nested name specifier >> > >> > "Incomplete type" means the type you're trying to use is incomplete, >> i.e. not fully defined. Probably you are missing an include and/or have >> includes that only make forward declarations. >> > >> > https://stackoverflow.com/questions/10446494/incomplete-type-error >> >> Late getting back to this... I read up on this a bit and added forward >> declarations to the various files, but I still get the error. >> > > You should be adding #includes. Did you read the StackOverflow link? > > >> I find the whole thing extremely opaque. >> > > In C and C++ you have declarations and definitions. This is a > simplification but, in order to generate code involving an object of a > type, the compiler needs to see a definition so it can determine memory > layout. It doesn't need to do that when the type is only referred to with a > pointer or reference. In those cases, you can speed up compilation time > with forward declarations. Since your edits introduced code that makes use > of a type's memory layout you now need to provide the definition of the > type. Almost always this means you #include the relevant file. > > >> How to proceed? Maybe I should push my branch to my fork and someone else >> can take a look? >> >> >> https://github.com/jamshark70/supercollider/commit/cd78e5ec7d405f7938cf885290e87b94f34b9244 >> >> I'm stuck and I'm getting the defunct help browser now at least 80% of >> the time when I launch the IDE. >> >> hjh >> >> >> _______________________________________________ >> sc-dev mailing list >> >> info (subscription, etc.): >> http://www.birmingham.ac.uk/facilities/ea-studios/research/supercollider/mailinglist.aspx >> archive: http://www.listarc.bham.ac.uk/marchives/sc-dev/ >> search: http://www.listarc.bham.ac.uk/lists/sc-dev/search/ >> >