首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Pysdl2在Windows7上找不到directx

Pysdl2在Windows7上找不到directx
EN

Stack Overflow用户
提问于 2015-05-01 20:07:19
回答 1查看 711关注 0票数 0

我最近设法让pysdl2 (0.9.3)在Windows8.1(64位)机器上工作(以及扩展模块gfx、mixer、ttf和image)。一切运行正常,包括pysdl2的example文件夹中的所有demo。

然而,当我尝试在Windows7(64位)上用相同的SDL2 DLL版本运行相同的代码时,我得到了错误消息:

代码语言:javascript
运行
复制
sdl2.ext.common.SDLrror: 'directx not available'

调用后

代码语言:javascript
运行
复制
sdl2.ext.init()

我尝试安装Directx最终用户运行时(2010年6月),甚至安装完整的SDK,但都无济于事。我还尝试将SDL_VIDEODRIVER环境变量更改为directx以外的其他变量,但也不起作用(显然在SDL2中不再提供'windib‘选项)。

我知道SDL2可能正在寻找DirectX9,现在DirectX11已经完全取代了它,但在安装了最终用户运行时之后,我的系统应该再次拥有DirectX9。此外,如果这是问题的原因,那么它也不应该在Windows8.1上工作,因为这个操作系统更新,甚至更不可能搭载DX9?

编辑:顺便提一下,pygame (它使用较旧的SDL 1.2库)能够找到directx作为

代码语言:javascript
运行
复制
pygame.display.get_driver()

输出:

代码语言:javascript
运行
复制
'directx'

所以一定是SDL2库的内部配置有问题。

EN

回答 1

Stack Overflow用户

发布于 2016-05-31 20:07:34

我在Windows XP上遇到了相同的错误directx not available,并通过使用以下命令将环境变量SDL_VIDEODRIVER设置为windows来解决此问题

代码语言:javascript
运行
复制
set SDL_VIDEODRIVER=windows 

在启动我的Python模块之前,在命令提示符上。您也可以使用以下命令直接从Python执行此操作

代码语言:javascript
运行
复制
os.environ['SDL_VIDEODRIVER'] = 'windows'

请注意,在SDL2中,windows是唯一支持Windows的驱动程序。directxwindib仅对SDL1.2有效。

我遇到这个问题是因为我同时导入了Pygame和PySDL2。事实证明,Pygame模块(使用SDL1.2)在导入时将SDL_VIDEODRIVER更改为directx

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29986563

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档