[Qt-creator] Editor unable to find #include files
Ziller Eike
Eike.Ziller at digia.com
Mon Dec 9 08:50:06 CET 2013
On Dec 6, 2013, at 10:39 PM, Steve Atkins <steve at blighty.com> wrote:
>
> On Dec 6, 2013, at 1:14 PM, Pawel <pawelfaron87 at wp.pl> wrote:
>
>> Hello,
>>
>> I was struggling with the same issue some time ago i I posted a question:
>> http://lists.qt-project.org/pipermail/qt-creator/2013-April/002053.html
>>
>> There was also thread in stackoverflow with some example how to reproduce
>> it
>> http://stackoverflow.com/questions/17734391/qt-creator-editor-not-finding-include-files
>>
>> Unfortunately I still have the issue, so any new advice will be very
>> appreciated :)
>
> First, run Creator with the environment variable QTCREATOR_DUMP_FILENAME_WHILE_PARSING
> set, and run it in a way that you can see it's debug output.
>
> If you're on a unix, just run it from a terminal. If you're on OS X, open up a terminal
> and run …path/to/Qt\ Creator.app/Contents/MacOS/Qt\ Creator (or something like that).
>
> On Windows… I'm not entirely sure where the debug output goes - but you're
> a developer, you can find DebugView.exe.
>
> For me it spews a huge volume of errors about QPainter API violations. Ignore those.
>
> You're looking for files that begin with "Parsing file:", like this:
>
> Parsing file: "<configuration>" contents: 4713 bytes
> Parsing file: "/Users/steve/qtcbug1/process/ProcessApp.h" contents: 173 bytes
> Parsing file: "/usr/local/Trolltech/Qt-4.8.0/lib/QtCore.framework/Headers/QObject" contents: 21 bytes
> Parsing file: "/usr/local/Trolltech/Qt-4.8.0/lib/QtCore.framework/Headers/qobject.h" contents: 13432 bytes
> […]
>
> If you see those, you can see what include files it's trying to parse, and perhaps
> find the issue from there (bad INCLUDEPATH in your config file, possibly
> combined with #include "foo/bar" type syntax seems to be an issue people
> have seen).
>
> If you don't see those Parsing file lines at all then the problem may be that
> your .pro file isn't being parsed correctly. Look for and fix any errors displayed
> there, even if they look irrelevant - if the .pro file doesn't finish parsing completely
> cleanly Creator doesn't seem to look at the #include statements at all.
>
> In my case I had this line in my .pro file:
>
> !include(../config.pri) error(Failed to load config.pri)
You miss a colon there:
!include(../config.pri): error(Failed to load config.pri)
Br, Eike
> qmake handles that correctly, and I'm fairly sure it was documented as valid
> syntax at some point in the past[1], but Qt Creator newer than 2.6.1 barfs on it
> and now it needs to be:
>
> !include(../config.pri) {
> error(Failed to load config.pri)
> }
>
> I fixed that, and all the code model stuff works perfectly - despite there being
> absolutely nothing related to the code model in config.pri.
>
> (I did all this with git HEAD, but I'm pretty sure it'd be the same for 3.0 and
> 2.8).
>
> Cheers.
> Steve
>
> [1] This code base dates from the Qt 2 era, so it might have been a *long*
> time in the past.
>
>
>>
>> On Fri, 06 Dec 2013 02:01:24 +0100, Steve Atkins <steve at blighty.com> wrote:
>>
>>>
>>> On Dec 5, 2013, at 1:24 AM, Ziller Eike <Eike.Ziller at digia.com> wrote:
>>>
>>>>
>>>> On Dec 4, 2013, at 11:30 PM, Steve Atkins <steve at blighty.com> wrote:
>>>>
>>>>> I've seen a regression since 2.6.something where the code model isn't
>>>>> able to find files in #include statements - they get a warning
>>>>> underline, hovering over them shows "no such file or directory", and
>>>>> autocompletion doesn't recognize any types defined in them. Which
>>>>> include files do that is consistent, but reordering the includes
>>>>> sometimes changes which are affected, apparently randomly.
>>>>>
>>>>> Possibly related, hovering over other include files shows the tool tip
>>>>> "const char *" instead of the file path. I can replicate this in
>>>>> 2.8.1, 3.0 beta and HEAD.
>>>>
>>>> That could mean that some include file(s) have errors (or that Qt
>>>> Creator thinks that they have.
>>>>
>>>>> I don't see anything related in the bug tracker, and I've not yet been
>>>>> able to create a reasonably sized test case that demonstrates it.
>>>>>
>>>>> Does anyone have any pointers as to where I should look to start
>>>>> diagnosing what's going on?
>>>>
>>>> Please also make sure that your .includes actually contains the
>>>> directory(ies) that you need.
>>>> Please be aware that there was a behavior change that made Qt Creator
>>>> stricter with resolving the includes, see e.g.
>>>> https://bugreports.qt-project.org/browse/QTCREATORBUG-10359
>>>
>>> Thanks. The QTCREATOR_DUMP_FILENAME_WHILE_PARSING mentioned in that
>>> ticket gave me exactly what I needed to track the problem down.
>>>
>>> qmake and Creator are parsing my .pro file differently, and Creator
>>> failing to include another configuration file - even though there's
>>> nothing relevant in the included config file - caused all the other
>>> misbehaviour.
>>>
>>> (I'm not sure whether it's a bug in the config file or in the .pro
>>> parser in Creator yet - if it turns out to be the latter I'll open a
>>> bug).
>>>
>>> Cheers,
>>> Steve
>>>
>>> _______________________________________________
>>> Qt-creator mailing list
>>> Qt-creator at qt-project.org
>>> http://lists.qt-project.org/mailman/listinfo/qt-creator
>>>
>>
>>
>> --
>> Using Opera's mail client: http://www.opera.com/mail/
>> _______________________________________________
>> Qt-creator mailing list
>> Qt-creator at qt-project.org
>> http://lists.qt-project.org/mailman/listinfo/qt-creator
>
> _______________________________________________
> Qt-creator mailing list
> Qt-creator at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/qt-creator
--
Eike Ziller, Senior Software Engineer - Digia, Qt
Digia Germany GmbH, Rudower Chaussee 13, D-12489 Berlin
Geschäftsführer: Mika Pälsi, Juha Varelius, Tuula Haataja
Sitz der Gesellschaft: Berlin, Registergericht: Amtsgericht Charlottenburg, HRB 144331 B
More information about the Qt-creator
mailing list