List Info

Thread: Issues with KDevelop3 C++ support




Issues with KDevelop3 C++ support
user name
2008-01-10 15:13:25
Hi,

as I'm using KDevelop3 now at work to work on Squish I've
found that it
has quite a lot of issues with the code. Well not
"many" but in many
places. In particular:

- I can't navigate to methods inside ifdefs (I suspect thats
not
  fixable, but really annoying) using the toolbar navigator
widget
- I get code-completion only on very few items and the
classes are not
  inside any ifdefs or some such.
- Jump to Def/Decl often doesn't work at all, no matter
wether ifdefs
  are involved or not.

In general there's a lot of not resolvable symbols. As I
know there's
only little chance anybody else goes about to fix that: Any
hints
how/where to start finding hints why the types of these
variables are
not found?

Andreas

-- 
Of course you have a purpose -- to find a purpose.

_______________________________________________
KDevelop-devel mailing list
KDevelop-develkdevelop.org
https://barney.cs.uni-potsdam.de/mailman/listinf
o/kdevelop-devel

RE: Issues with KDevelop3 C++ support
user name
2008-01-10 15:39:59
> Hi,
>
> as I'm using KDevelop3 now at work to work on Squish
I've
> found that it
> has quite a lot of issues with the code. Well not
"many" but in many
> places. In particular:
>
> - I can't navigate to methods inside ifdefs (I suspect
thats not
>   fixable, but really annoying) using the toolbar
navigator widget
> - I get code-completion only on very few items and the
classes are not
>   inside any ifdefs or some such.
> - Jump to Def/Decl often doesn't work at all, no matter
wether ifdefs
>   are involved or not.
>
> In general there's a lot of not resolvable symbols. As
I know there's
> only little chance anybody else goes about to fix that:
Any hints
> how/where to start finding hints why the types of these
variables are
> not found?

Settings -> Configure KDevelop -> C++ Parsing ->
Special Headers

#define all needed macros there.  You'll likely need to
remove your .pcs file so it is recreated from scratch.

Kris Wong

_______________________________________________
KDevelop-devel mailing list
KDevelop-develkdevelop.org
https://barney.cs.uni-potsdam.de/mailman/listinf
o/kdevelop-devel

Re: Issues with KDevelop3 C++ support
user name
2008-01-10 16:18:12
On 10.01.08 16:39:59, Kris Wong wrote:
> > Hi,
> >
> > as I'm using KDevelop3 now at work to work on
Squish I've
> > found that it
> > has quite a lot of issues with the code. Well not
"many" but in many
> > places. In particular:
> >
> > - I can't navigate to methods inside ifdefs (I
suspect thats not
> >   fixable, but really annoying) using the toolbar
navigator widget
> > - I get code-completion only on very few items and
the classes are not
> >   inside any ifdefs or some such.
> > - Jump to Def/Decl often doesn't work at all, no
matter wether ifdefs
> >   are involved or not.
> >
> > In general there's a lot of not resolvable
symbols. As I know there's
> > only little chance anybody else goes about to fix
that: Any hints
> > how/where to start finding hints why the types of
these variables are
> > not found?
> 
> Settings -> Configure KDevelop -> C++ Parsing
-> Special Headers
> 
> #define all needed macros there.  You'll likely need to
remove your .pcs file so it is recreated from scratch.

You need to keep more attention who asks ;) I know that
stuff, but this
is not about macro's. At least I've never seen an ifdef with
a macro.
Anyway, I was also talking more about #if QT_VERSION >
0x040000 and
similar things.

Andreas

-- 
Snow Day -- stay home.

_______________________________________________
KDevelop-devel mailing list
KDevelop-develkdevelop.org
https://barney.cs.uni-potsdam.de/mailman/listinf
o/kdevelop-devel

Re: Issues with KDevelop3 C++ support
user name
2008-01-11 03:40:02
On Thursday 10 January 2008 22:13:25 Andreas Pakulat wrote:
> Hi,
>
> as I'm using KDevelop3 now at work to work on Squish
I've found that it
> has quite a lot of issues with the code. Well not
"many" but in many
> places. In particular:
>
> - I can't navigate to methods inside ifdefs (I suspect
thats not
>   fixable, but really annoying) using the toolbar
navigator widget
> - I get code-completion only on very few items and the
classes are not
>   inside any ifdefs or some such.
> - Jump to Def/Decl often doesn't work at all, no matter
wether ifdefs
>   are involved or not.
>
> In general there's a lot of not resolvable symbols. As
I know there's
> only little chance anybody else goes about to fix that:
Any hints
> how/where to start finding hints why the types of these
variables are
> not found?
>
> Andreas

Are EXPORT macros in class definitions involved? In my
experience, there's 
often this problem:

"class SOME_EXPORT MyClass {};", where SOME_EXPORT
is not known to the 
preprocessor. This means that the whole declaration becomes
a parsing error, 
so the class won't be accessible through
quick-jump-to-class, and 
jump-to-definition / jump-to-declaration won't work either
on member 
functions. 
It may also be other unresolved macros that make a
class-declaration not work, 
like:
"DECLARE_METATYPE_MACRO(SomeThing)
class MyClass {};" Will create the same problem if
DECLARE_METATYPE_MACRO is 
unresolved.


Are all the unresolved symbols within your project, or out
of your project?

Here's a thing that might help with missing macros like
SOME_EXPORT:
- Either turn on include-path resolver, or if that doesn't
work, set a sane 
include-path by hand.
- Enable "preprocess included headers" in the C++
options. This will get those 
macros, as long as the files that contain them can be found
in the include 
path. However this will make parsing slower and consume more
memory.
- Delete pcs so everything is reparsed.

greetings, David

_______________________________________________
KDevelop-devel mailing list
KDevelop-develkdevelop.org
https://barney.cs.uni-potsdam.de/mailman/listinf
o/kdevelop-devel

RE: Issues with KDevelop3 C++ support
user name
2008-01-11 09:42:31
> You need to keep more attention who asks ;) I know
that
> stuff, but this
> is not about macro's. At least I've never seen an ifdef
with a macro.
> Anyway, I was also talking more about #if QT_VERSION
> 0x040000 and
> similar things.

The field works for macros and preprocessor definitions just
the same.

#define QT_VERSION 0x040001

in that field should do the trick.  For example, I have that
field populated with all relevant project-level preprocessor
defintions.  Im guesing the definitions for your project are
all generated by configure and passed as -D FOO to gcc.

Kris Wong

_______________________________________________
KDevelop-devel mailing list
KDevelop-develkdevelop.org
https://barney.cs.uni-potsdam.de/mailman/listinf
o/kdevelop-devel

Re: Issues with KDevelop3 C++ support
user name
2008-01-11 13:32:53
On 11.01.08 10:42:31, Kris Wong wrote:
> > You need to keep more attention who asks ;) I know
that
> > stuff, but this
> > is not about macro's. At least I've never seen an
ifdef with a macro.
> > Anyway, I was also talking more about #if
QT_VERSION > 0x040000 and
> > similar things.
> 
> The field works for macros and preprocessor definitions
just the same.
> 
> #define QT_VERSION 0x040001

Hmm, right, though I'm not sure that'll fix all problems, as
I have 2
projects for the Qt3 and Qt4 build and that stuff is
global...

Anyway, I'm not sure those macro's are actually the problem,
as C++
sometimes doesn't even find the types from the .h in the
corresponding
.cpp..

> in that field should do the trick.  For example, I have
that field populated with all relevant project-level
preprocessor defintions.  Im guesing the definitions for
your project are all generated by configure and passed as -D
FOO to gcc.

Well no, most of the things are in config.h.

Andreas

-- 
Tonight you will pay the wages of sin; Don't forget to leave
a tip.

_______________________________________________
KDevelop-devel mailing list
KDevelop-develkdevelop.org
https://barney.cs.uni-potsdam.de/mailman/listinf
o/kdevelop-devel

Re: Issues with KDevelop3 C++ support
user name
2008-01-11 13:36:13
On 11.01.08 10:40:02, David Nolden wrote:
> On Thursday 10 January 2008 22:13:25 Andreas Pakulat
wrote:
> > Hi,
> >
> > as I'm using KDevelop3 now at work to work on
Squish I've found that it
> > has quite a lot of issues with the code. Well not
"many" but in many
> > places. In particular:
> >
> > - I can't navigate to methods inside ifdefs (I
suspect thats not
> >   fixable, but really annoying) using the toolbar
navigator widget
> > - I get code-completion only on very few items and
the classes are not
> >   inside any ifdefs or some such.
> > - Jump to Def/Decl often doesn't work at all, no
matter wether ifdefs
> >   are involved or not.
> >
> > In general there's a lot of not resolvable
symbols. As I know there's
> > only little chance anybody else goes about to fix
that: Any hints
> > how/where to start finding hints why the types of
these variables are
> > not found?
> >
> > Andreas
> 
> Are EXPORT macros in class definitions involved? In my
experience, there's 
> often this problem:

Yes.

> Are all the unresolved symbols within your project, or
out of your project?

IIRC QLabel and Co (the only things besides standard C++ and
C outside
the project) work mostly. 

> Here's a thing that might help with missing macros like
SOME_EXPORT:
> - Either turn on include-path resolver, or if that
doesn't work, set a sane 
> include-path by hand.

That won't work as we're not using make - custom buildtool.
So I added
some of the src dirs to the list (though the one with the
config.h still
is missing IIRC). I didn't have time to look more into that
today, I'll
make more tries on monday. One thing I noticed though is
that sometimes
C++ can't resolve types from the header in the corresponding
cpp..

> - Enable "preprocess included headers" in the
C++ options. This will get those 
> macros, as long as the files that contain them can be
found in the include 
> path. However this will make parsing slower and consume
more memory.

I've got that enabled always already 

Andreas

-- 
You fill a much-needed gap.

_______________________________________________
KDevelop-devel mailing list
KDevelop-develkdevelop.org
https://barney.cs.uni-potsdam.de/mailman/listinf
o/kdevelop-devel

[1-7]

about | contact  Other archives ( Real Estate discussion Medical topics )