[Qt-creator] Code completion is unable to find header files
Sergey Shambir
sergey.shambir.auto at gmail.com
Mon Dec 31 19:22:37 CET 2012
I just found that QtCreator 2.5.0 handles PGKCONFIG variable and founds
SDL.h. QtCreator from trunk doesn't.
Probably it's regression.
31.12.2012 21:56, Nikos Chantziaras пишет:
> But if it exists, it will not be ignored, which is a problem. For
> example, the include like should be:
>
> -I/usr/local/SDL-1.2
>
> *not*:
>
> -I/usr/local/SDL -I/usr/local/SDL-1.2
>
> Also not:
>
> -I/usr/local/SDL-1.2 -I/usr/local/SDL
>
> Yes, this is a Creator issue with code completion. It does not affect
> the build. I need to get Creator to understand that "SDL.h" is in
> /usr/include/SDL.
>
> On 31/12/12 17:57, Sergey Shambir wrote:
>> If file listed in INCLUDEPATH not exists, it will be ignored.
>>
>> CONFIG += link_pkgconfig
>> PKGCONFIG += sdl
>>
>> This settings ignored only by QtCreator C++ engine or build fails too?
>>
>> 31.12.2012 14:33, Nikos Chantziaras пишет:
>>> I forgot to mention that I know about this, but this can potentially
>>> also break portability, since it might preempt the directory reported by
>>> pkg-config.
>>>
>>>
>>> On 31/12/12 12:26, Orgad Shaneh wrote:
>>>> Add in your pro file:
>>>> INCLUDEPATH += /usr/include/SDL
>>>>
>>>>
>>>> On Mon, Dec 31, 2012 at 12:19 PM, Nikos Chantziaras <realnc at gmail.com
>>>> <mailto:realnc at gmail.com>> wrote:
>>>>
>>>> I've run into a nasty problem with Qt Creator (I'm using 2.6.1 on Gentoo
>>>> Linux) where it can't find header files I include and thus code
>>>> completion for anything in those headers isn't working.
>>>>
>>>> Case in point:
>>>>
>>>> #include <SDL.h>
>>>>
>>>> Creator can't find it because the full path to that header is:
>>>>
>>>> /usr/include/SDL/SDL.h
>>>>
>>>> However, I don't want to use:
>>>>
>>>> #include <SDL/SDL.h>
>>>>
>>>> instead. That's not the correct way to do it, as it breaks portability.
>>>> Some systems don't use "SDL/" but can have that header in
>>>> "SDL1.2/" or
>>>> "SDL12/" or "SDL-1.2/" or whatever. The correct way to do this is to
>>>> use pkg-config. In my project file:
>>>>
>>>> CONFIG += link_pkgconfig
>>>> PKGCONFIG += sdl
>>>>
>>>> Qt Creator is not able to pick that up. So as a workaround, which seems
>>>> to work fine with generic projects, I provided a "ProjectName.includes"
>>>> file with this in it:
>>>>
>>>> /usr/include/SDL
>>>>
>>>> But Creator doesn't seem to care. This works just fine for non-qmake
>>>> projects. But with qmake projects, Creator seems to ignore *.includes
>>>> files?
>>>>
>>>> What can I do?
>>>>
>>>> This is of course not limited to SDL. The same problem arises with
>>>> anything that uses pkg-config to provide include paths and you're not
>>>> supposed to hardcode the path prefix into your #include directives.
>
> _______________________________________________
> Qt-creator mailing list
> Qt-creator at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/qt-creator
More information about the Qt-creator
mailing list