请选择 进入手机版 | 继续访问电脑版

开源计算机图形学社区(Open Source Computer Graphics Community) |OpenGPU Forum (2007-2013)| OpenGPU Project

 找回密码
 注册
搜索
查看: 803|回复: 4

【求解】关于VS2015编译DX11 Effects11 sample的问题 [复制链接]

Rank: 9Rank: 9Rank: 9

注册时间
2016-11-27
积分
388
发表于 2017-4-7 19:05:48 |显示全部楼层
今天看《Introduction to 3D Game programming with DirectX 11》,其中讲到对于着色器文件使用effect技术,需要用到effect相关的lib。但是因为我的编译器用的VS2015,所以书中附赠的源码(Effect11d.lib)无法直接使用(提示VC1600错误,而当前编译器为VC1900)所以我就找到DirectX SDK的目录里的Sample文件夹,对其中的Effect11进行编译,来自己产生lib文件。
但是,VS2015对文件进行升级后(项目自带只有VS2010和VS2008的slu),然后编译器对语句
有这个报错。
请问,这个该怎么解决呢?

Rank: 13Rank: 13Rank: 13Rank: 13

注册时间
2010-6-6
积分
1049
发表于 2017-4-9 11:41:59 |显示全部楼层
把static关键字去掉试试

使用道具 举报

Rank: 9Rank: 9Rank: 9

注册时间
2016-11-27
积分
388
发表于 2017-4-9 11:55:05 |显示全部楼层
cdgray 发表于 2017-4-9 11:41
把static关键字去掉试试

解决了,把static改成inline(官方在github上是这么做的)。

ps直接去掉会造成重定义错误。

使用道具 举报

Rank: 13Rank: 13Rank: 13Rank: 13

注册时间
2010-6-6
积分
1049
发表于 2017-4-10 00:11:18 |显示全部楼层
wzm19941229 发表于 2017-4-9 11:55
解决了,把static改成inline(官方在github上是这么做的)。

ps直接去掉会造成重定义错误。 ...

参见Overloaded operator new and operator delete,
https://msdn.microsoft.com/en-us/library/mt723604.aspx
照理说static和inline应该都不允许了

使用道具 举报

Rank: 9Rank: 9Rank: 9

注册时间
2016-11-27
积分
388
发表于 2017-4-10 21:01:46 |显示全部楼层
cdgray 发表于 2017-4-10 00:11
参见Overloaded operator new and operator delete,
https://msdn.microsoft.com/en-us/library/mt72360 ...

确实,不过这个解决方法是微软在github上的Effect11 Sample 代码上写的,可能是有某些部分不能兼容,于是这样妥协的吧.......

使用道具 举报

最近看过此主题的会员

您需要登录后才可以回帖 登录 | 注册

‹‹
我的工具栏

关于我们|手机版|Archiver|开源计算机图形学社区(Open Source Computer Graphics Community) | OpenGPU Project | OpenGPU Forum (2007-2013)

GMT+8, 2017-6-26 04:37 , Processed in 0.078923 second(s), 12 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部