不同的sdl2版本。如何使用pip3安装版本而不是debian版本?

时间:2018-07-16 17:10:36

标签: python sdl-2 pysdl2

对于SDL_GetVersionSDL2 Wiki指出:

  

如果要动态链接到SDL,则可能   当前版本将与您编译的版本不同   反对。该函数返回当前版本,而   SDL_VERSION()是一个宏,它告诉您所编译的版本   

下面是我的python脚本,用于检查我的SDL2编译和链接版本。我发现它们是不同的。

import sdl2

compiled = sdl2.SDL_version() #initialisation
linked   = sdl2.SDL_version() #initialisation
sdl2.SDL_VERSION(compiled)    #updated
sdl2.SDL_GetVersion(linked)   #updated
print('compiled_version = ', compiled.major, compiled.minor, compiled.patch)
print('linked_version   = ', linked.major, linked.minor, linked.patch)

结果:

compiled_version =  2 0 6
linked_version   =  2 0 4

在我的系统上,我安装了以下SDL2软件包:

$ sudo dpkg -l | grep sdl2
ii  libsdl2-2.0-0:amd64           2.0.4+dfsg1-2ubuntu2               amd64        Simple DirectMedia Layer
ii  libsdl2-image-2.0-0:amd64     2.0.1+dfsg-2+deb9u1build0.16.04.1  amd64        Image loading library for Simple DirectMedia Layer 2, libraries
ii  libsdl2-ttf-2.0-0:amd64       2.0.14+dfsg1-1                     amd64        TrueType Font library for Simple DirectMedia Layer 2, libraries

$ pip3 list | grep PySDL2
PySDL2                        0.9.6 

从上面的内容中,我了解到libsdl2-2.0-0:amd64是链接软件包,而通过pip3在本地安装的PySDL2 0.9.6软件包是编译后的软件包(我已经检查了version.py文件该软件包)。

问题:

  1. 引用中的“动态链接到SDL”是什么意思?
  2. 如何指导我的应用程序使用安装了PySDL2的pip3 包而不是debian包?

0 个答案:

没有答案