游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3440|回复: 2

求助:direct8和direct9混用出现"类型重定义"问

[复制链接]

7

主题

21

帖子

27

积分

注册会员

Rank: 2

积分
27
QQ
发表于 2008-5-27 23:20:00 | 显示全部楼层 |阅读模式
最近自己做了一个视频接口,想同时支持direct8和direct9,单独使用其中一个接口没有任何问题,但是一旦将两接口同时参与编译就会出现诸如:
1>d:\directX8.1\include\d3d8.h(27) : warning C4005: “D3D_SDK_VERSION”: 宏重定义
1>        d:\dx9sdk\include\d3d9.h(27) : 参见“D3D_SDK_VERSION”的前一个定义
1>d:\directx8.1\include\d3d8types.h(155) : error C2011: “_D3DLIGHTTYPE”: “enum”类型重定义
1>        d:\dx9sdk\include\d3d9types.h(163) : 参见“_D3DLIGHTTYPE”的声明
1>d:\directx8.1\include\d3d8types.h(189) : error C2011: “_D3DSHADEMODE”: “enum”类型重定义
1>        d:\dx9sdk\include\d3d9types.h(197) : 参见“_D3DSHADEMODE”的声明
1>d:\directx8.1\include\d3d8types.h(196) : error C2011: “_D3DFILLMODE”: “enum”类型重定义
1>        d:\dx9sdk\include\d3d9types.h(204) : 参见“_D3DFILLMODE”的声明
1>d:\directx8.1\include\d3d8types.h(208) : error C2011: “_D3DBLEND”: “enum”类型重定义
的错误,在网上摸索了几天没有发现解决办法。
Irrlicht引擎也同时支持direct8和direct9,试着分析了其代码,可惜小弟才疏学浅,没有发现其中玄机。
望达人指教!

2

主题

683

帖子

687

积分

高级会员

Rank: 4

积分
687
发表于 2008-5-28 13:30:00 | 显示全部楼层

Re:求助:direct8和direct9混用出现"类型重定义"问题如

什么样的视频接口?

7

主题

21

帖子

27

积分

注册会员

Rank: 2

积分
27
QQ
 楼主| 发表于 2008-5-28 16:53:00 | 显示全部楼层

Re:求助:direct8和direct9混用出现"类型重定义"问题如

同一个图形接口类,用direct8和direct9同时实现,在初始化时通过参数指定将使用的direct版本.
两种实现分别单独编译的时候何以通过并正常运行,一旦同时参与编译便会出错
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-22 09:24

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表