Issues with KDevelop3 C++ support

David Nolden zwabel at googlemail.com
Fri Jan 11 09:40:02 UTC 2008


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




More information about the KDevelop-devel mailing list