Re: KDE and SDL2: some problem with syntax analyser
Luca Provenzani <[email protected]>
| Newsgroups | gmane.comp.kde.users.kdevelop |
|---|---|
| Message-ID | <[email protected]> |
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 >