Author Topic: Manager >> Symbols >> Globals - Template Function Implementations Missing  (Read 3576 times)

Offline freddie

  • Multiple posting newcomer
  • *
  • Posts: 11
Just discovered that.  I love Code::Blocks and have been using it for years.  Only trouble I have is that for reasons not really clear to me, I sometimes find functions are missing in the Manager Window, when one selects Symbols, then clicks on Globals.  I think I just discovered for sure that the IDE is needing function declarations from the *.h file associated with the *.cpp file to get the function names into the TreeView Control or whatever is ultimately being used there.  That might explain why some of my functions go missing if I just write the function in the *.cpp file but forget to add it to the header.  However, my other revelation is that even if I provide a declaration of a templated function, I can't navigate to the implementation without doing a 'Find' on it under the Search main menu item.  The function will show up in the Manager, but clicking on it will only take one to the declaration - not the implementation.  Where this all came to a head for me is on a rather large project I'm working on where some of the implementation files are like 8000 - 10000 lines of code.  Its a hassle trying to find an implementation of something if the Manager >> Symbols >> Globals won't take one there.  Has this been identified, worked on or fixed by anyone?  Here's an example of what I mean... 

Code
template<typename t1, typename t2, typename t3> bool blnDoCulls(HANDLE hFile, int* pSp, int* pSfxs, CArray<t1>& Cull, CArray<t2>& CullCount, CArray<t3>& Defect)
{
  ...
  ...
}

Such a function is invisible to the Manager >> Symbols thingie.  The best it'll do is take me to the declaration.  I use pretty old versions of Code::Blocks because I like the smaller exes I get with the older MinGWs they install (presently using Code::Blocks 10.05).  But if this has been fixed in the newer versions I'll move up.  If not, perhaps I ought to learn how to go through the process here of filing an official bug report.  This issue is actually so aggravating to me I temporarily switched over to Visual Studio to work on this project - and I dispise Visual Studio!

Offline pirx67

  • Multiple posting newcomer
  • *
  • Posts: 40
Did you ever think about keeping the "old" MinGW Installation and only update the Code::Blocks to a current version (perhaps 13.12)?

This is not a recommendation but it should be possible because MinGW and Code::Blocks are independent program packages.
At least in principle. I don't know if it is possible in an easy way to upgrade or replace only Code::Blocks if you have installed
MinGW and Code::Blocks using the bundled installer under Windows.

I only wanted to provide this idea.

Regards,
    pirx67

Offline freddie

  • Multiple posting newcomer
  • *
  • Posts: 11
I solved my problem by moving to Code::Blocks 12.11.  So apparently someone became aware of the problem somehow and fixed it.

I thought of that pirx when I was writing my post.  So far I haven't had much luck getting Code::Blocks to work with anything other than the MinGW that comes with the default installation.

Offline BlueHazzard

  • Developer
  • Lives here!
  • *****
  • Posts: 3353
why are you useing 12.11? this releas is now 2 years old and has a lot bugs... why don't use 13.12 or a nightly?

greetings

Offline freddie

  • Multiple posting newcomer
  • *
  • Posts: 11
Two years old feels about right for me.  Don't like to be too bleeding edge!  What I really need to do I suppose is use the newer CBs, but do without the newer compiler.  I hate the bloat that keeps creeping up.  I have about a 10,000 LOC app that compiled down to 188K with the MinGW compiler that came with CB 10.05.  12.11 gave me 239K!  The newest 64 bit TDM64 about double that. Arhhhh!  I'm one of those wierdoes that likes small code.  I need to fool around with the various config options to choose my compiler.  You know, just down load the IDE and choose my own compiler.  I've only dinked around a bit with it so far without much luck.  I'd been happy with the older CBs until I hit that template bug I originally posted about.

Offline BlueHazzard

  • Developer
  • Lives here!
  • *****
  • Posts: 3353
You mess c::b with compiler. You can use the newest version of c::b with the oldest compiler you can find. C::b is NOT A COMPILER...
Search the wiki for how to install a compiler. I'm on my mobile phone so i can't post a link.
Greetings