[Bf-committers] Blender and SDL

Wander Lairson Costa wander.lairson at gmail.com
Tue Mar 13 19:36:29 CET 2012


2012/3/13 Campbell Barton <ideasman42 at gmail.com>:
> http://hg.libsdl.org/SDL default branch.
>
> needed to comment XextAddDisplay in src/video/x11/SDL_x11sym.h to get
> it building, though previously with SDL I didn't need to make any
> edits to get it to build.
>

Well, I didn't get any trouble compiling libsdl default branch. But
now I am confused because default branch is SDL 2.0, which is not
supposed to be compatible with SDL 1.3. Every library file in SDL 2.0
and the SDL include directory have a "2" appended to its name to avoid
name clashes with 1.x version. I got around this issue by creating
respective symbolic links.

But the real problem is that AFAIK ghost SDL is not supposed to work
with SDL 2.0, as it makes use of flags that have different names
between versions 1.3 and 2.0 and some functions which were removed
from 2.0 API. Here a list of errors I get:

/home/wcosta/work/blender-svn/blender/intern/ghost/intern/GHOST_DisplayManagerSDL.cpp:
Na função membro ‘virtual GHOST_TSuccess
GHOST_DisplayManagerSDL::getNumDisplaySettings(GHOST_TUns8,
GHOST_TInt32&) const’:
/home/wcosta/work/blender-svn/blender/intern/ghost/intern/GHOST_DisplayManagerSDL.cpp:58:33:
erro: ‘SDL_HWSURFACE’ was not declared in this scope
/home/wcosta/work/blender-svn/blender/intern/ghost/intern/GHOST_DisplayManagerSDL.cpp:58:49:
erro: ‘SDL_OPENGL’ was not declared in this scope
/home/wcosta/work/blender-svn/blender/intern/ghost/intern/GHOST_DisplayManagerSDL.cpp:59:4:
erro: ‘SDL_FULLSCREEN’ was not declared in this scope
/home/wcosta/work/blender-svn/blender/intern/ghost/intern/GHOST_DisplayManagerSDL.cpp:59:21:
erro: ‘SDL_HWPALETTE’ was not declared in this scope
/home/wcosta/work/blender-svn/blender/intern/ghost/intern/GHOST_DisplayManagerSDL.cpp:59:34:
erro: ‘SDL_ListModes’ was not declared in this scope
/home/wcosta/work/blender-svn/blender/intern/ghost/intern/GHOST_DisplayManagerSDL.cpp:
Na função membro ‘virtual GHOST_TSuccess
GHOST_DisplayManagerSDL::getDisplaySetting(GHOST_TUns8, GHOST_TInt32,
GHOST_DisplaySetting&) const’:
/home/wcosta/work/blender-svn/blender/intern/ghost/intern/GHOST_DisplayManagerSDL.cpp:84:33:
erro: ‘SDL_HWSURFACE’ was not declared in this scope
/home/wcosta/work/blender-svn/blender/intern/ghost/intern/GHOST_DisplayManagerSDL.cpp:84:49:
erro: ‘SDL_OPENGL’ was not declared in this scope
/home/wcosta/work/blender-svn/blender/intern/ghost/intern/GHOST_DisplayManagerSDL.cpp:85:4:
erro: ‘SDL_FULLSCREEN’ was not declared in this scope
/home/wcosta/work/blender-svn/blender/intern/ghost/intern/GHOST_DisplayManagerSDL.cpp:85:21:
erro: ‘SDL_HWPALETTE’ was not declared in this scope
/home/wcosta/work/blender-svn/blender/intern/ghost/intern/GHOST_DisplayManagerSDL.cpp:85:34:
erro: ‘SDL_ListModes’ was not declared in this scope
/home/wcosta/work/blender-svn/blender/intern/ghost/intern/GHOST_DisplayManagerSDL.cpp:98:29:
erro: ‘SDL_GetVideoSurface’ was not declared in this scope
/home/wcosta/work/blender-svn/blender/intern/ghost/intern/GHOST_DisplayManagerSDL.cpp:
Na função membro ‘virtual GHOST_TSuccess
GHOST_DisplayManagerSDL::getCurrentDisplaySetting(GHOST_TUns8,
GHOST_DisplaySetting&) const’:
/home/wcosta/work/blender-svn/blender/intern/ghost/intern/GHOST_DisplayManagerSDL.cpp:117:8:
erro: ‘SDL_VideoInfo’ does not name a type
/home/wcosta/work/blender-svn/blender/intern/ghost/intern/GHOST_DisplayManagerSDL.cpp:122:29:
erro: ‘SDL_GetVideoSurface’ was not declared in this scope
/home/wcosta/work/blender-svn/blender/intern/ghost/intern/GHOST_DisplayManagerSDL.cpp:133:3:
erro: ‘info’ was not declared in this scope
/home/wcosta/work/blender-svn/blender/intern/ghost/intern/GHOST_DisplayManagerSDL.cpp:133:27:
erro: ‘SDL_GetVideoInfo’ was not declared in this scope
/home/wcosta/work/blender-svn/blender/intern/ghost/intern/GHOST_DisplayManagerSDL.cpp:
Na função membro ‘virtual GHOST_TSuccess
GHOST_DisplayManagerSDL::setCurrentDisplaySetting(GHOST_TUns8, const
GHOST_DisplaySetting&)’:
/home/wcosta/work/blender-svn/blender/intern/ghost/intern/GHOST_DisplayManagerSDL.cpp:160:44:
erro: ‘SDL_HWSURFACE’ was not declared in this scope
/home/wcosta/work/blender-svn/blender/intern/ghost/intern/GHOST_DisplayManagerSDL.cpp:160:60:
erro: ‘SDL_OPENGL’ was not declared in this scope
/home/wcosta/work/blender-svn/blender/intern/ghost/intern/GHOST_DisplayManagerSDL.cpp:161:4:
erro: ‘SDL_FULLSCREEN’ was not declared in this scope
/home/wcosta/work/blender-svn/blender/intern/ghost/intern/GHOST_DisplayManagerSDL.cpp:161:21:
erro: ‘SDL_HWPALETTE’ was not declared in this scope
/home/wcosta/work/blender-svn/blender/intern/ghost/intern/GHOST_DisplayManagerSDL.cpp:161:34:
erro: ‘SDL_ListModes’ was not declared in this scope
/home/wcosta/work/blender-svn/blender/intern/ghost/intern/GHOST_DisplayManagerSDL.cpp:205:72:
erro: ‘SDL_SetVideoMode’ was not declared in this scope
make[2]: ** [intern/ghost/CMakeFiles/bf_intern_ghost.dir/intern/GHOST_DisplayManagerSDL.cpp.o]
Erro 1
make[1]: ** [intern/ghost/CMakeFiles/bf_intern_ghost.dir/all] Erro 2

But the curious part is that you are getting it to build with SDL 2.0
(SDL default branch)...

-- 
Best Regards,
Wander Lairson Costa


More information about the Bf-committers mailing list