Qt5/Mac header finding in KDevelop5 (clang parser??)

Milian Wolff mail at milianw.de
Tue Jun 21 15:36:14 UTC 2016

On Tuesday, June 21, 2016 5:29:05 PM CEST René J.V. Bertin wrote:
> On Tuesday June 21 2016 16:26:27 Milian Wolff wrote:
> > > Is that supposed to work? It doesn't for me, at least not for the
> > > headers
> > > from the system frameworks.
> > 
> > Again, confusing. Frameworks is a macOS thing, no? Please clarify what you
> > mean here.
> Yeah, it's kind of confusing that KDE now has frameworks too :) I'll try to
> call the OS X things framework bundles. Did you follow this thread from the
> beginning? 

I tried to quickly grasp what's going on. Probably failed to do so.

> The issue I reported is that KDevelop doesn't find Qt's header
> files which live in OS X framework bundles. CMake does set the appropriate
> -isystem /opt/local/libexec/qt5/Library/Frameworks/Qt*.framework/Headers
> arguments which *should* be enough but which aren't. As a result the parser
> doesn't recognise any Qt type or class. I have myself set up symlinks to
> those "Headers" directories (/opt/local/include/qt5/QtFoo ->
> /opt/local/libexec/qt5/Library/Frameworks/QtFoo.framework/Headers). Adding
> /opt/local/include/qt5 as a custom search path solves the issue.

That much I understood. But so far I failed to find a dump of the include 
paths that are passed from kdev-clang to libclang. The dumps you showed are 
from your build (unrelated, but interesting), and from some error you saw on a 
Linux machine, again unrelated.

Please, dump the include paths on macOS and report back whether it has the
correct path in -isystem, or not. If the path is there, it should work - at 
least it does so on Linux. If it doesn't work on macOS, you'll need to debug 
and find out why. strace/dtruss might help.

If the path is not there, then you know where to look (i.e. somewhere else, 
likely cmakemanager, or the makefileresolver as mentioned by aleix).


Milian Wolff
mail at milianw.de

More information about the KDevelop-devel mailing list