我在Windows 10上使用Visual Studio 2017.我尝试将Win32-DLL转换为UWP-DLL。但是,当我编译时,我得到了这个错误:
1>Build FAILED.
1>
1>error PRI175 : 0x80004005 - Processing Resources failed with error : Unbekannter Fehler
1>GENERATEPROJECTPRIFILE : error PRI261: 0xdef00523 - Named resource 'Files\CRenderer\..\..\..\Products\CRenderer\CRenderer\CompiledShaders\GS_GenerateNormals.cso' is outside project root! Only resource containers are allowed outside the project root.
1> 1 Warning(s)
1> 2 Error(s)
1>
1>Time Elapsed 00:00:00.78
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
* .hlsl着色器正确编译并存储在" CompiledShaders"文件夹中。在文件" layout.resfiles"路径指定为" CRenderer ...... \ Products \ CRenderer \ CRenderer \ CompiledShaders \ GS_GenerateNormals.cso" (而不仅仅是" CompiledShaders \ GS_GenerateNormals.cso")。 当我将“layout.resfiles”文件设置为只读时,VS写道:Task' GeneratePriConfigurationFiles'失败。
要将Win32-dll转换为UWP-dll,我重新编译了链接库,然后重新编译了具有这些项目属性的dll项目:
配置属性>一般> Windows应用商店应用支持>是的
配置属性> c / c ++>代码生成>运行时库> MD / MDd
卸载,插入这些标签并重新加载:
<Default Language> en-US </ Default Language>
<Minimum Visual Studio Version> 14.0 </ minimum Visual Studio version>
<AppContainerApplication> true </ AppContainerApplication>
<ApplicationType> Windows Store </ ApplicationType>
<Windows Target Platform Version> 10.0.15063.0 </ Windows Target Platform Version>
<WindowsTargetPlatformMinVersion> 10.0.14393.0 </ WindowsTargetPlatformMinVersion>
<Application Type Revision> 10.0 </ Application Type Revision>
然后重建。之后,我解决了未解决的错误。 UWP不支持的功能已更改,预处理器定义不包括不工作和需要的代码部分。
Configuration Properties> c / c ++> Preprocessor -> Preprocessor Definitions> "WIN_UWP"
(In the code:) #ifndef WIN_UWP [Function(){…}] #endif)