phyreengine 3.12.0 安装遇到的问题

发现他们文档都是旧的。。。。略渣阿

需要安装vs2012 update4 vs2013update4 nvdia cg toolkits 3.1 以及 windows SDK 8.1

编译运行第一个sample的时候PhyreClear_vpo_size, PhyreClear_fpo[]

这些都安装正确之后还是有那个错误:

VS 2013   LINK2001 unresolved external symbol "symbol" 

            Code references something (such as a function, variable, or label) that the linker can't find in the libraries and object files.

       LINK4221 This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library

https://msdn.microsoft.com/en-us/library/f6xx1b1z.aspx

https://msdn.microsoft.com/en-us/library/604bzebd.aspx

(参考读物--程序员的自我修养,link那里)

再结合本案例,就是phyrecore里面phyreclear.ps....等诸多,编成二进制放在lib里面的shader们由于LINK4221所示问题,没有被链进lib里

实际上,可以去.ps的属性里面看到command line 这里所示的位置和bat

从位置那里可以看到比如phyreclear.ps.o基本上是空的,没有被正确生成,其实前面编译的时候就有报错 在output只是没以error形式呈现

Cannot find registry key for Windows SDK

这句就是Command line 里面DetermineD3DShaderCompiler.bat里面的一个log

看了一个这个bat无非是想对不同平台找到不同windows SDK 里面的fxc.exe

装好了windows SDK还是不好...

my solution:
set SHADER_COMPILER = "MY DIRECTORY/fxc.exe"

SOLVED..... 

原文地址:https://www.cnblogs.com/minggoddess/p/4568738.html