Nvidia SDK 11 corrupt/damaged samples?

Started by
0 comments, last by Hubis 11 years, 4 months ago
I think the problem comes from some incompatibility with Visual Studio 2012,but 2 of the projects don't update properly.The first one - DiffuseGlobalIllumination I think misses some files,there is no main.cpp for instance,so I can't build it and it's kind of inconvenient,since it would have been a nice direction to in what order different functions in the sample are called(+all other samples have a main.cpp).The other(bigger) problem is - TerrainTessellation doesn't update at all.This is the migration report:


TerrainTessellation_2008.vcproj: Value cannot be null. Parameter name: file
TerrainTessellation_2008.vcproj: Project upgrade failed.
..\Common\FXC.rules: Semicolon is the only supported separator in MSBuild. Usage of any other separator for Custom Build Rule string properties is invalid after conversion.
Show 2 additional messages
..\TerrainTessellation\TerrainTessellation_2008.vcproj
Message
: Custom build rules file 'C:\ProgramData\NVIDIA Corporation\NVIDIA Direct3D SDK 11\source\Common\FXC.rules' was not found or failed to load.
: The following error has occurred during XML parsing: File: C:\ProgramData\NVIDIA Corporation\NVIDIA Direct3D SDK 11\source\TerrainTessellation\TerrainTessellation_2008.vcproj Line: 22 Column: 4 Error Message: System error: -2147154664. The file 'C:\ProgramData\NVIDIA Corporation\NVIDIA Direct3D SDK 11\source\TerrainTessellation\TerrainTessellation_2008.vcproj' has failed to load.
[/quote]

Has anyone else had this issue?Can I run VS2012 in some backwards compatibility mode?
Advertisement
Unfortunately, there's no real easy way to make this work -- there's a good reason only Visual Studio 2008 samples are included! That being said, here are my observations based on the problems you describe.


I think the problem comes from some incompatibility with Visual Studio 2012,but 2 of the projects don't update properly.The first one - DiffuseGlobalIllumination I think misses some files,there is no main.cpp for instance,so I can't build it and it's kind of inconvenient,since it would have been a nice direction to in what order different functions in the sample are called(+all other samples have a main.cpp).


If you search for "WinMain", you'll find the entrypoint for the DiffuseGlobalIllumination sample in Lighting.cpp. That file should have everything you would be looking for from a "main.cpp".


The other(bigger) problem is - TerrainTessellation doesn't update at all.This is the migration report:

TerrainTessellation_2008.vcproj: Value cannot be null. Parameter name: file
TerrainTessellation_2008.vcproj: Project upgrade failed.
..\Common\FXC.rules: Semicolon is the only supported separator in MSBuild. Usage of any other separator for Custom Build Rule string properties is invalid after conversion.
Show 2 additional messages
..\TerrainTessellation\TerrainTessellation_2008.vcproj
Message
: Custom build rules file 'C:\ProgramData\NVIDIA Corporation\NVIDIA Direct3D SDK 11\source\Common\FXC.rules' was not found or failed to load.
: The following error has occurred during XML parsing: File: C:\ProgramData\NVIDIA Corporation\NVIDIA Direct3D SDK 11\source\TerrainTessellation\TerrainTessellation_2008.vcproj Line: 22 Column: 4 Error Message: System error: -2147154664. The file 'C:\ProgramData\NVIDIA Corporation\NVIDIA Direct3D SDK 11\source\TerrainTessellation\TerrainTessellation_2008.vcproj' has failed to load.

[/quote]

How did you attempt to update this project? I did an automated update into Visual Studio 2012 and did not get any of these errors.If possible, try to import the entire base solution file, rather than project-by-project.

If you're able to work around that, you may run into problems where the build fails due to HLSL or FX files not "compiling". This stage is actually not necessary, and is just included to validate the shaders before trying to run the samples and having them crash in the executable. You can fix that by simply selecting all the HLSL and FX files in your project, right clicking, and selecting "Exclude from Project". They will no longer go through that pre-processing step.

Finally, I've noticed some samples seem to fail to build due to macro redefinition warnings being treated as errors. These warnings stem from macros in DXGITYPE.H (part of the DirectX SDK) being re-defined in WINERROR.H, which is part of the Windows Development Kit v8.0. For a quick-and-dirty workaround, right click the project and open its properties, go to "C++ > General" and change "Treat Warnings As Error" to "No (/WX -)".

If you follow those steps, you should be able to build and run any of the samples included successfully.


Has anyone else had this issue?Can I run VS2012 in some backwards compatibility mode?


There is no compatibility mode that I am aware of. Unfortunately, the SDK only officially supports Visual Studio 2008, largely because of the compatibility issues you've run across. On the plus side, you can now get Visual Studio 2008 Express Edition for free from Microsoft [ http://www.microsoft.com/en-us/download/details.aspx?id=14597 ] which should be sufficient to build these samples, if all else fails. It's obviously not ideal, but it might be the easiest way if you just want to modify the code and see how it runs.

This topic is closed to new replies.

Advertisement