microsoft / Xbox-ATG-Samples

Game development samples published by the Xbox Advanced Technology Group using the Xbox One XDK and for the Universal Windows Platform (UWP).
https://aka.ms/atgsamples
MIT License
683 stars 227 forks source link

Prerequisites in readme.md - build tools 149 #3

Closed jinkobah closed 7 years ago

jinkobah commented 7 years ago

Hi, I had problems building the SimplePlay3DSpatialSoundUWP audio sample due to "MSB4057: The target 'MarkupCompilePass1' does not exist in the project" against the DirectXTK project.

Finally solved this by installing the 10.0.14393 Windows 10 SDK for Visual Studio Built Tools 2017 15.2 (26530.15). This is not part of the default build tools install.

Please add build tools and versions to the prereqs, and if there's a way to adjust the build tools installer to include the latest version of all required components, that would be great.

walbourn commented 7 years ago

As of April 8, 2017, all the projects in this repo were set to use VS 2017 and the Windows 10 Creators Update SDK (15063). That was when the spatial audio samples were added as well. There should be no reason you have to have the older Windows 10 Anniversary Update SDK (14393) installed to build them.

I'll set up a repro on a VM, but it is possible you were missing some component in your VS 2017 setup that was fixed as a side-effect of adding the 14393 SDK...

jinkobah commented 7 years ago

That pointed me to the issue. Both DirectXTK .vcxproj files reference 14393 as the minimum version:

10.0.14393.0

From: Chuck Walbourn notifications@github.com Sent: Tuesday, July 11, 2017 3:01 PM To: Microsoft/Xbox-ATG-Samples Cc: Engel, Nic B.; Author Subject: Re: [Microsoft/Xbox-ATG-Samples] Prerequisites in readme.md - build tools 149 (#3)

As of April 8, 2017, all the projects in this repo were set to use VS 2017 and the Windows 10 Creators Update SDK (15063). That was when the spatial audio samples were added as well. There should be no reason you have to have the older Windows 10 Anniversary Update SDK (14393) installed to build them.

- You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_Microsoft_Xbox-2DATG-2DSamples_issues_3-23issuecomment-2D314585051&d=DwMFaQ&c=lI8Zb6TzM3d1tX4iEu7bpg&r=mrdb0sJ2hUH3eEEWeeCP8cqFBqetUTKLLh6bJ9SkIXk&m=3CSOrdaFS6bOjB6Z2ny91AoUafvLxgDDWdRF7LdSnHs&s=f0qW8M-2FQEuV_78yb3MYOb5b2EDm7dOhHOac23cAHE&e=, or mute the threadhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_AE-2Db-5FjJOTkScIdfm5Qjf8rDjMrdPWBWGks5sM-5FDQgaJpZM4OUtGr&d=DwMFaQ&c=lI8Zb6TzM3d1tX4iEu7bpg&r=mrdb0sJ2hUH3eEEWeeCP8cqFBqetUTKLLh6bJ9SkIXk&m=3CSOrdaFS6bOjB6Z2ny91AoUafvLxgDDWdRF7LdSnHs&s=rLBOdCcYL69mXM91PdBz-qnRmjTyEwQITAXro1q--vA&e=.

walbourn commented 7 years ago

The minimum version doesn't impact which SDK is used to build. All it should control is the value that ends up in the AppX manifest in the <OSMinVersion> element.

I have noticed VS 2017 has a quirk of only showing as possible options for the min version based on what Windows 10 SDK is installed locally, which I've noted to them is silly because the SDK isn't used at all for build--it's rather large for something that just provides a version number to a droplist. Still, I suppose there's something else in their validation that could be incorrectly tied to it as well. I'll see if my VM repro shows this issue...

It really shouldn't matter what the static library lists as the minimum version as all that should matter is the UWP EXE that creates the AppX package....

jinkobah commented 7 years ago

Thanks! On clean hardware, I observed that building the vanilla solution failed but changing the minversion to 15063 caused it to succeed. I retract my original statement about the build tools...they were not required.


From: Chuck Walbourn notifications@github.com Sent: Jul 12, 2017 1:20 AM To: Microsoft/Xbox-ATG-Samples Cc: Engel, Nic B.; Author Subject: Re: [Microsoft/Xbox-ATG-Samples] Prerequisites in readme.md - build tools 149 (#3)

The minimum version doesn't impact which SDK is used to build. All it should control is the value that ends up in the AppX manifest in the element.

I have noticed VS 2017 has a quirk of only showing as possible options for the min version which Windows 10 SDK is installed, which I've noted is silly because the SDK isn't used at all for build--it's rather large for something that just provides a version number to a droplist. Still, I suppose there's something else in their validation that could be incorrectly tied to it as well. I'll see if my VM repro shows this issue...

- You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_Microsoft_Xbox-2DATG-2DSamples_issues_3-23issuecomment-2D314691309&d=DwMFaQ&c=lI8Zb6TzM3d1tX4iEu7bpg&r=mrdb0sJ2hUH3eEEWeeCP8cqFBqetUTKLLh6bJ9SkIXk&m=L8bZoS3VaRiGLN_mUOzP6zE0EFvUr-gvJJrM9hDTkJ8&s=c-VrXIlZWowWYRX6VdvnQfJHyE6nvao1EySBvUggy0Q&e=, or mute the threadhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_AE-2Db-5FtCHRag4X1DVmDbVVCKsxNk6TKlDks5sNIG7gaJpZM4OUtGr&d=DwMFaQ&c=lI8Zb6TzM3d1tX4iEu7bpg&r=mrdb0sJ2hUH3eEEWeeCP8cqFBqetUTKLLh6bJ9SkIXk&m=L8bZoS3VaRiGLN_mUOzP6zE0EFvUr-gvJJrM9hDTkJ8&s=-P6hN93hInyODOreP7rhU9YmwlNL5L6Ck2ndNxednds&e=.

walbourn commented 7 years ago

I have left the min version in most of the samples as 14393 as that's a reasonable minimum. The spatial audio samples need 15063, which is why it appears only DirectXTK is set 'wrong'. I'll verify this behavior and write up at least two bugs for the Visual Studio team:

It looks like I should either update all the samples to indicate a minimum of 15063 (which is too conservative IMO), or just note that the Windows 10 SDK (14393) must also be installed to handle the reasonable minimum OS setting :(

jinkobah commented 7 years ago

Makes sense. Thanks for the support!

Best, -Nic B-


From: Chuck Walbourn notifications@github.com Sent: Jul 12, 2017 1:34 AM To: Microsoft/Xbox-ATG-Samples Cc: Engel, Nic B.; Author Subject: Re: [Microsoft/Xbox-ATG-Samples] Prerequisites in readme.md - build tools 149 (#3)

I have left the min version in most of the samples as 14393 as that's a reasonable minimum. The spatial audio samples need 15063, which is why it appears only DirectXTK is set 'wrong'. I'll verify this behavior and write up at least two bugs for the Visual Studio team:

- You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_Microsoft_Xbox-2DATG-2DSamples_issues_3-23issuecomment-2D314694581&d=DwMFaQ&c=lI8Zb6TzM3d1tX4iEu7bpg&r=mrdb0sJ2hUH3eEEWeeCP8cqFBqetUTKLLh6bJ9SkIXk&m=1raq7DPWVJEEu4LU30xhmqGCNFvjM9MVsKFGEp2WrU8&s=0rnq10oSyzoonbEEUIgYa2d3jf5sBK5uuw94PbRVrcw&e=, or mute the threadhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_AE-2Db-5FqoV9CGdHr9BdHzhE5bqAvfE1z2fks5sNITzgaJpZM4OUtGr&d=DwMFaQ&c=lI8Zb6TzM3d1tX4iEu7bpg&r=mrdb0sJ2hUH3eEEWeeCP8cqFBqetUTKLLh6bJ9SkIXk&m=1raq7DPWVJEEu4LU30xhmqGCNFvjM9MVsKFGEp2WrU8&s=XuL43kMJ8aB-cSvvGYILZAXihzjdZWIza6gf1O1aI8g&e=.

V-AMKARL commented 7 years ago

I'm having this same issue. What's the solution? I have windows 10 15063 and Visual Studio Professional 2017. When I try to compile DirectXTK I get "the target "MarkupCompilePass1" does not exist in the project". I couldn't quite follow from the above whether there is a way for me to get past this... :)

walbourn commented 7 years ago

I'm still working through the exact repro, but it sounds like you need to install the Universal Windows Platform apps workload (which includes the Windows 10 SDK 15063), the C++ tools for UWP apps optional component, and the Windows 10 SDK 14393 optional component to get it to build currently.

V-AMKARL commented 7 years ago

Super – based on the original thread I already tried installing extra build tools with no luck, but I’ll try what you suggest – Thanks!

-Amy

From: Chuck Walbourn [mailto:notifications@github.com] Sent: Thursday, July 13, 2017 11:33 AM To: Microsoft/Xbox-ATG-Samples Xbox-ATG-Samples@noreply.github.com Cc: Amy Karlson (Populus Group LLC) v-amkarl@microsoft.com; Comment comment@noreply.github.com Subject: Re: [Microsoft/Xbox-ATG-Samples] Prerequisites in readme.md - build tools 149 (#3)

I'm still working through the exact repro, but it sounds like you need to install the Universal Windows Platform apps workload (which includes the Windows 10 SDK 15063), the C++ tools for UWP apps optional component, and the Windows 10 SDK 14393 optional component to get it to build currently.

— You are receiving this because you commented. Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoft%2FXbox-ATG-Samples%2Fissues%2F3%23issuecomment-315164192&data=02%7C01%7Cv-amkarl%40microsoft.com%7C494ac2d14ca6454c898a08d4ca1d9975%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636355675857311584&sdata=cl6rLu2i67nZARzav8vM7HiMJfKMPO%2BQx9NbSbkF9LA%3D&reserved=0, or mute the threadhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAZjvM71xqJtUKpczlofKXkUg3qdCV3UMks5sNmLdgaJpZM4OUtGr&data=02%7C01%7Cv-amkarl%40microsoft.com%7C494ac2d14ca6454c898a08d4ca1d9975%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636355675857311584&sdata=Xi5XtAAyAIORAPfjz97oYkD2%2FmguvingbC0uG%2B0GOZw%3D&reserved=0.

jinkobah commented 7 years ago

I actually didn't need the 14393 SDK. I just needed to manually change the min version to 15063 in DirectXTK project properties.

walbourn commented 7 years ago

Yes that is another workaround, but a number of samples are using 14393 as the minimum by design because the APIs in them are not strictly 15063 or later only.

walbourn commented 7 years ago

Confirmed. Not great behavior, but at least I know what's happening :) Updated the readme.md.

Thanks!