GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.
Join GitHub today
Sign upHave a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
commented Jun 11, 2015
I am trying to produce a .vcxproj for VS2012 that supports both Win32 and x64 targets, and produces Windows XP compatible executables for the Win32 version. The only way this is possible is to mix both v110 and v110_xp platform toolsets in this .vcxproj. I am looking to see if it's possible to expand the acceptable list of platform toolsets to include v110_xp. It seems like an action is bound to only provide one platform toolset for any code generation 'session', so I'm not sure the architecture of premake even would allow this as it is. Any thoughts about this? |
commented Jun 11, 2015
we just added this to our scripts. Go sms pro themes apk free download for samsung galaxy y. which you can obviously make conditional on a setting.. extend at will ;) |
commented Jun 12, 2015
Toolsets are specified per configuration…wouldn't this work (untested)? |
commented Jun 12, 2015
That is exactly what I tried, but 'v110_xp' is not a supported platform toolset out of the box. And it looks like each version of visual studio supports one toolset only. I can't extend it to a list. As far as I know? |
commented Jun 13, 2015
Are you running against the latest sources? I've no trouble setting that value here. |
Platform Toolset Vs2017
commented Jun 13, 2015
I have the latest sources as of this past Wednesday. I worked around the issue with Tom's fix above, and some other code. |
commented Jun 13, 2015
Okay, I'll close this out, feel free to re-open with new information. Still think my example should work. |
commented Jun 18, 2015
This is now working with the latest alpha release, FYI. |
![How To Install Platform Toolset V110 How To Install Platform Toolset V110](https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/34/17/7142.platformtoolset.png)
The Windows Driver Kit (WDK) takes advantage of the MSBuild platform toolset feature to provide tools and libraries that are specific to driver development. The MSBuild platform toolset feature is extensible. The specific version of the platform toolset that you want to use is controlled by an MSBuild property called PlatformToolset. Projects can switch between tools and libraries by setting the PlatformToolset property in the project file.
The Windows Driver Kit (WDK) 8.1 provides the following platform toolsets for driver development.
Hollywood Bollywood Hindi Tamil Dubbed Eng Sub Indo 720p 480p Movies Download and watch online. Televisi21.tv Tv21.org does not accept responsibility for contents hosted on third party websites. Last tango in paris (1972) subtitrat in romana. Free download movies with google drive direct link in 480p & 720p bluray HD Quality – Televisi21 Tv21.org is not associated with Worldfree4u, 9xmovies, bolly4u, downloadhub, world4ufree, world4free, Khatrimaza 123Movies tamilRockers fmovies Gomovies gostream rarbg torrentsmovies yify eztv 300mbfilms katmoviehd filmywap erosnow mkvcage pahe.in layarkaca21 lk21 indoxxi bioskopkeren idfl dunia21 ganool cinemaindo. All files or contents hosted on third party websites. Disclaimer:– Televisi21.tv Tv21.org does not host any files on it’s servers.
PlatformToolset (WDK 8.1) | Use |
---|---|
WindowsKernelModeDriver8.1 | For kernel-mode drivers and components. |
WindowsUserModeDriver8.1 | For user-mode drivers and components. |
WindowsApplicationForDrivers8.1 | For any type of application. This platform toolset provides compatibility with the build options used in the Windows Driver Kit (WDK) for Windows 7 (WDK 7.1), and also uses the default settings that are common for development of user-mode applications that interact with drivers. You might use this setting if you are migrating or converting a project that was built using WDK 7. |
Visual Studio 2013 (v120) | Use for any type of Windows application (default). |
The Windows Driver Kit (WDK) 8 provided the following platform toolsets for driver development. This information is provided for reference only.
PlatformToolset (WDK 8) | Use |
---|---|
WindowsKernelModeDriver8.0 | For kernel-mode drivers and components. |
WindowsUserModeDriver8.0 | For user-mode drivers and components. |
WindowsApplicationForDrivers8.0 | For any type of application. This platform toolset provides compatibility with the build options used in the WDK for Windows 7 (WDK 7.1). You might use this setting if you are migrating or converting a project that was built using WDK 7. |
Visual Studio 2012 (v110) | Use for any type of Windows application (default). |
Note If you create a driver from one of the available Windows driver templates in Visual Studio, the PlatformToolset property is set for you. You can also select the PlatformToolset by using the driver project property page in Visual Studio.Setting the Platform Toolset in Visual Studio
- Open the property pages for your driver project. Right-click the driver project in Solution Explorer and select Properties.
- In the property pages for the driver project, click Configuration Properties and then click General.
- Select the Platform Toolset property for the project from the drop-down list.
Example - Setting the PlatformToolset property in a Visual Studio project file (.vcxproj)
The following example shows how the PlatformToolset property is set in the project file.
The ConfigurationType property controls the target extension and the output type for the binary that is being built. Some of the possible values for this property are Application, DynamicLibrary, StaticLibrary, and Utility.
The WDK introduces a new value for this property called Driver to build a kernel-mode driver. If you set this property to Driver, MSBuild will generate a driver file with .sys as its extension. In the example, the PlatformToolset property is set to WindowsKernelModeDriver8.1 to build a kernel-mode driver. WindowsKernelModeDriver8.1 is the only WDK platform toolset that requires the DriverConfigurationType. In this example, the DriverType is set to KMDF.
About the PlatformToolset property for drivers
The PlatformToolset is a set of property sheets, targets, tools, and tasks that work together to extend and modify a platform in order to build drivers or kernel-mode components for that particular platform. For drivers and related components and applications, the PlatformToolset property should be set to WindowsKernelModeDriver8.1, WindowsUserModeDriver8.1, or WindowsApplicationForDrivers8.1 in the project file. These platform toolsets are designed to extend the existing Visual Studio CC++ tool chain compiler and linker with other WDK-specific build tools and target the WDK headers and libraries. The WindowsApplicationForDrivers8.1 toolset provides compatibility with the build option settings that were available in the WDK for Windows 7 (WDK 7.1), and also the default settings that are common for development of user-mode applications that interact with drivers.
The Platform Toolset has the default platform-level settings and targets to build any driver project. You use default switches for build tools such as the compiler or linker, system information such as the INCLUDE or LIBRARY paths for the WDK, and feature settings such as various properties to set when using Unicode or ANSI strings to build a driver project. If you are developing a Windows application for the desktop, do not use the WindowsKernelModeDriver8.1, WindowsUserModeDriver8.1, or WindowsApplicationForDrivers8.1 platform toolset. Instead, use the Visual Studio 2013 (v120) platform toolset.
By default, the PlatformToolset property is Visual Studio 2013 (v120) for both newly created Win32 user mode C++ projects and projects that were converted to Visual Studio 2013. In both cases, the PlatformToolset property is not written to the project file.
When you select one of the platform toolsets for drivers, the following properties are set.
- ExecutablePath and NativeExecutablePath (PATH)
- IncludePath (INCLUDE)
- ReferencePath (LIBPATH)
- LibraryPath (LIB)
- SourcePath
- ExcludedPath
Note When UseEnv is not set to TRUE, PATH, LIB, INCLUDE, LIBPATH will be set from the corresponding property values in the platform toolset. When UseEnv is set to TRUE, as in the old build system, the values from the environment variables for PATH, INCLUDE, LIB, and LIBPATH will be used instead.
Where the WDK installs files that enable the driver-specific platform toolsets
The following table summarizes the places where the WDK installs files to enable the platform toolsets for driver development.
Path variable | Description |
---|---|
$(VCTargetsPath) | By default, $(VCTargetsPath) is defined in the registry as $(MSBuildExtensionsPath)<em><FOLDER><MSBUILDSYNTAXVERSION>) The version number is included in case a new build process is used for the same platform, which has new syntax and requires a later MSBuild. The <FOLDER> is the Microsoft.Cpp folder - $(MSBuildExtensionsPath)Microsoft.Cpp4.0v120. This is called syntax version rather than tools version. It is the assembly version of the first Microsoft.Build.Engine that supports all of the necessary syntax. Microsoft.Cpp indicates the only folder where Visual Studio will look for platforms. |
$(VCTargetsPath)Platforms$(Platform)ImportAfter.props | Optional folder that does not normally contain files. You can customize the platform by saving MSBuild format files in this folder. They will be imported at the bottom of the platform settings file, as indicated by the folder that they are currently in. The order in which files are imported from this location is undefined. The files that MSBuild creates are $(VCTargetsPath)Platforms$(Platform)ImportAfterMicrosoft.Cpp.<Platform>.WindowsKernelModeDriver8.1.props and Microsoft.Cpp.<Platform>.WindowsUserModeDriver8.1.props, which import several WDK-specific props files. |
$(VCTargetsPath)Platforms$(Platform)PlatformToolsets$(PlatformToolset)</p> | For the WDK: The $(PlatformToolset) must be set to WindowsKernelModeDriver8.1 for building kernel mode drivers, set to WindowsUserModeDriver8.1 for building user mode drivers, and set to WindowsApplicationForDrivers8.1 for compatibility with the build options used in the Windows 7 WDK (WDK 7). PlatformToolset Directory For example, C:Program FilesMSBuildMicrosoft.Cppv4.0v120PlatformsWin32PlatformToolsetsWindowsKernelModeDriver8.1. The PlatformToolsets directory allows you to add other types of files later – in their own subfolder. |
Microsoft.Cpp.$(Platform).$(PlatformToolset).props | Platform Toolset Props file Imports props files to build a driver. Also imports v120 props file. |
Microsoft.Cpp.$(Platform).$(PlatformToolset).targets | Platform Toolset Targets file Imports target files to build a driver. These files contain <UsingTask> tags to pull in the WDK tasks. This feature also imports v120 targets. |
$(WDKContentRoot)build.props | All driver specific props files. These files contain default settings to build a driver. |
$(WDKContentRoot)build*.targets | All driver specific targets file. This file identifies the targets to build a driver. |