KDE and SDL2: some problem with syntax analyser

Luca Provenzani eufordia at gmail.com
Wed Nov 21 19:08:04 GMT 2018


KDevelop 5.2.4 on Fedora 29 installed by dnf command.

When file SDL_surface.h is open in the view "problem" there is only one
warning row :

"Problem in Preprocessor
Header is not guarded against multiple inclusions

The given header is not guarded against multiple inclusions, either with
the conventional #ifndef/#define/#endif macro guards or with #pragma once."

No problem on file SDL.h

Do you think it could be a kdevelop version problem? in this case I have
to work on a virtual machine (tomorrow I'll try this solution) or wait
for next update..

Luca


Il 21/11/18 16:55, Kevin Funk ha scritto:
> On Wednesday, 21 November 2018 15:15:21 CET Luca Provenzani wrote:
>> Hi Kevin,
>>
>> my answers below
>>
>> thank you
>>
>> Luca
>>
>> Il 21/11/18 11:56, Kevin Funk ha scritto:
>>> On Wednesday, 21 November 2018 11:55:17 CET Kevin Funk wrote:
>>>> On Wednesday, 21 November 2018 08:37:58 CET Luca Provenzani wrote:
>>>>> Hi all,
>>>>>
>>>>> first of all it is right to say that I'm newbie on kdevelop, C++ and
>>>>> SDL. Than the question:
>>>>>
>>>>> I begin to setting up a new project with SDL2 and all is ok, I can
>>>>> compile, execute and so on. But there is an annoying thing: the language
>>>>> support doesn't work well. It highlights a lot of error and doesn't
>>>>> suggest properly, not recognising some SDL function or struct.
>>>> Hey Luca,
>>>>
>>>> so as I take it the SDL2 headers are properly found and you can "jump
>>>> into"
>>>> (i.e. Ctrl+Click on "#include <SDL2/SDL.h>") them, right?
>> Yes, I confirm that
>>
>>>>> The strange thing is that some function like
>>>>> "SDL_CreateTextureFromSurface" is recognized other not, like
>>>>> "SDL_LoadBMP" or struct like "SDL_Texture".
>>>> In your case it looks like none of the function mentioned could be found
>>>> (they're not colored in blue, like e.g. "SDL_GetError()").
>>>>
>>>> In case only some functions are not detected, then the problems is likely
>>>> that their declaration is could not be parsed properly. Could you jump
>>>> into
>>>> SDL.h or SDL_surface.h and check whether SDL_LoadBMP/SDL_LoadBMP_RW could
>>>> not be parsed properly?
>> Here the definition of the function/macro SDL_LoadBMP in SDL_surface.h:
>>
>> /extern DECLSPEC SDL_Surface *SDLCALL SDL_LoadBMP_RW(SDL_RWops * src,/
>> /                                                    int freesrc);/
>>
>> //**/
>> / *  Load a surface from a file./
>> / */
>> / *  Convenience macro./
>> / *//
>> /#define SDL_LoadBMP(file)   SDL_LoadBMP_RW(SDL_RWFromFile(file, "rb"), 1)/
>>
>>
>> .. but, I don't see nothing really strange..
>>
>>>> To me it looks like all the structs like SDL_Texture/SDL_Surface cannot
>>>> be
>>>> parsed and thus cause follow up errors everywhere.
>>> Btw: If you could share the project (i.e. by zipping it up and sending it
>>> here), that'd help a lot!
>> Yes, no problem, I attached the tar.gz file of the project
> Thanks, works fine here, though (see attached screenshot). KDevelop 5.3 on 
> Ubuntu 18.10.
>
> Can you maybe open the Problems tool view while SDL.h or SDL_surface.h are 
> open? What errors are listed there? (You can copy-paste them.)
>
> What kind of KDevelop version is this? Where did you get it from?
>
> Regards,
> Kevin
>
>>> Regards,
>>> Kevin
>>>
>>>> Regards,
>>>> Kevin
>>>>
>>>>> I attach a screenshot showing that.
>>>>>
>>>>> In the included file SDL_Renderer.h I see:/
>>>>> /
>>>>>
>>>>> //**/
>>>>> / *  \brief An efficient driver-specific representation of pixel data/
>>>>> / *//
>>>>> /struct SDL_Texture;/
>>>>> /typedef struct SDL_Texture SDL_Texture;/
>>>>>
>>>>> without an explicit definition of the struct..
>>>>>
>>>>> Do some one know how to fix this behaviour?
>>>>>
>>>>> Thanks
>>>>>
>>>>> Best Regards
>>>>>
>>>>> Luca
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kdevelop/attachments/20181121/9fa835b4/attachment.html>


More information about the KDevelop mailing list