Visual Studio 2010 Express, Windows SDK 7.1, CMake and 64 bit - visual-studio-2010

I'm running into problems generating a Visual Studio 2010 Express 64 bit project through CMake. I installed VS2010 Express first, then the Windows SDK 7.1 in order to be able to build 64 bit apps and then tried to compile my CMake project.
I do not remember this to be that difficult with 2008 Express, but with 2010 I fail again and again. 2010 searches per default for 7.0a SDK which is shipped with it. The express version seems to ship a reduced 32 bit version, which is located under
.../Program Files(X86)/Microsoft SDKs/Windows/7.0a
Windows SDK 7.1 64bit will be installed per default under
.../Program Files/Microsoft SDKs/Windows/7.0
In VS 2010 Express the platform SDK can be changed on a per-project-map basis and if I do so the inherited path macros surprisingly point to the correct SDK. The problem now is, that CMake is not happy about me screwing around in the project files by myself. Thus, it always resets the Platform SDK entry to the default value, which will make the Windows SDK point to 7.0a and result in complaints about missing 64 bit libs.
I now see two possibilities to resolve this:
Find a way to really integrate the 7.1 SDK into VS2010 Express, just like with VS2008. VS2008 searches the registry for the tag 'CurrentInstallFolder' in the Windows SDKs entry, and you can change this entry to point to another SDK.
Find a way to tell CMake (2.8.1) to set the correct Platform SDK in the project. No plan how to do this...
I would appreciate any help. 2010 is somewhat mandatory unfortunately, I personally cannot get used to it at all...

Ok, updating to the latest CMake (2.8.12) resolved this, CMake now detects the 7.1 SDK and sets it in the project files.
Edit: The toolset can be chosen in a CMake file via the CMAKE_GENERATOR_TOOLSET flag

Related

Visual Studio WDK integration Issue

Recently I installed Visual Studio 2017 Enterprise along with WDK 10 for 1709 My workloads contained C++ workload. . My machine is a Windows 8.1 Pro with net framework 4.6.1. After installing the WDK I expected the templates to come in the Legacy section of Visual C++ but no legacy option is present in it. I don't understand what is the problem. Please help me.
Thanks in advance
I resolved the issue. It was due to a missing windows 10 SDK. Reinstallating the WDK with appropriate SDK solved the problem
Developing drivers to windows is quite interesting one will be exposed to advanced Operating System Concepts. The set up for the environment will be IDE
IDE - Visual Studio (https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=Community&rel=16)
Compilers (WDK)
Debugger (WDK)
WDK contains both(https://go.microsoft.com/fwlink/?linkid=2085767). Latest Visual Studio(VS2019) will come along with the latest WDK(10, 1903 as of now).
Sometimes plugins might not work properly i.e integration issues between Visual Studio and WDk.
By going to the location "C:\Program Files (x86)\Windows Kits\10\Vsix\VS2019" and run VSIX installer.
Now in a new project, driver related templates are available.

Install WinCE 5.0 Platform Builder SDK - build code with Visual Studio 2012 or higher

I have a Windows CE 5.0-based Platform Builder image. It is intended to be installed on Visual Studio 2005. My team would like to upgrade our build tools to utilize Visual Studio 2012, but Visual Studio 2012 does not support this platform image.
To be clear; I am not asking whether or not Visual Studio 2012 (or higher) supports Platform Builder SDKs targeting Windows CE 5.0. That question has already been answered (more or less), and the answer is clearly "No."
Instead, what I'd like to do is install the Platform Builder SDK, and manually modify the Visual Studio 2012 environment to allow compilation of my Windows CE code. Features like remote debugging and deployment are acceptable losses to my team; we have our own pathway for deployment and debugging on our embedded device. What I'm really hoping to gain is simply the ability to build WinCE 5.0 code in VS2012, which was intended for VS2005. I am attempting to reduce the number of Visual Studio installations, and get access to the superior intellisense faculties of newer versions of Visual Studio.
Does anyone know if this is possible? How would I go about doing that?
There does not appear to be a way to do this, in such a fashion as to no longer require Visual Studio 2005.
You can, however, use registry hacks to force Visual Studio 2012 to build a WinCE 5.0 project by utilizing the compiler binaries from Visual Studio 2005, during compilation. This would allow you to develop code in VS2012, but would also require that VS2005 be installed for a successful build.
Here is an article explaining the steps to set this up.
VS2012 doesn't have any of the Windows CE compilers. The last one that shipped with compilers compatible with CE 5.0 was VS 2008, so that's the "latest" version you'll be able to use to build. (VS2012 is capable of building for Windows CE, but only for WEC 2013, and only after installing a WEC 2013 SDK, which includes the requisite compiler pieces).
In short, there's no way you can get VS2012 by itself to compile a CE 7.0 or earlier app.
There is a plug-in for VS 2013 that will allow you to use that IDE for managed code (I've never used it, so I can't say how well it works), but it still requires VS 2008 to be installed to get the compilers.

Windows 8 SDK Platform Toolset missing in Visual Studio 2010

I just installed .NET framework 4.5, the Windows 8 SDK, and the Windows 8 DDK on 2 different machines (one at home managed by me, one at work originally setup by IT) both with Visual Studio 2010 Professional SP1 already installed, and both running Window 7 Professional.
I had an old C++/Win32 application in Windows XP that used both the Windows SDK and DDK. I updated it for Windows 7 and Visual Studio 2010 project settings. However, it would not build because some of the SDK/DDK include and library files are new, and it couldn't find them with Platform Toolset set to "v100" in Visual Studio.
Manually adding the Include and Lib folders to the project made it build and run correctly.
Is there some way that I can add the newly installed SDK and DDK to Visual Studio 2010's "Platform Toolset" list? I thought it was supposed to do this automatically, but neither of the machines I use have it in their list after install and reboot.
After researching this quite a bit, I finally found a solution. It doesn't look like it can be added to "Platform Toolset" via any simple method, but at least you don't have to add the paths on every single project you want to use the API. This worked for me, and allowed me to build Microsoft's "USBView sample application" written for VS2012. The way Microsoft recommends (from the official Microsoft Visual C++ Team blog) is:
For a single project:
http://blogs.msdn.com/b/vcblog/archive/2012/03/25/10287354.aspx
This seems to work with the final SDK release as well.
To apply those settings across multiple projects:
http://blogs.msdn.com/b/vcblog/archive/2012/11/23/using-the-windows-8-sdk-with-visual-studio-2010-configuring-multiple-projects.aspx

Using the Windows 7 and DirectX SDKs with VS2005

I have Visual Studio 2005 and want to teach myself DirectX in my free time. I downloaded the latest Windows 7 and DirectX SDKs. According to Microsoft's website, the latest DirectX SDK is not compatible with Visual Studio 2005 (I assume they mean it's not compatible with the SDK it came with). Can I configure VS2005 to use the SDKs I downloaded instead of the SDK it came with? If so, is there anything I should be particularly careful with?
The June 2010 DirectX SDK no longer supports Visual Studio 2005. You need to download an older version of the SDK and you'll be fine.
I'd wager you can encourage June 2010 to run under 2005. You may need to modify your headers slightly to make them 2005 compatible but the DX DLLs don't care what they get dynamically linked to by ... Install the SDK set up the include and library paths to point at the DirectX sdk ... compile and see what errors you get.

Can two different Windows SDK versions coexist on the same machine without conflict?

I have a machine with Vsiual Studio 2005 and Visual Studio 2008 and Windows SDK version 6.1 (Windows Vista). I am planning to install the latest SDK (Windows 7 and .Net 3.5 Service Pack1), but the MSDN Comptabilty document (http://msdn.microsoft.com/en-us/windows/dd146047.aspx) indicates that the latest SDK is not recommended with VS 2005.
I would like to check if the two SDKs can coexist on the same machine or the latest SDK will oevrride the older version and could cause issues with VS 2005.
Thanks
Just a word of warning, the 7.0 SDK has a badly broken installer. It hacks registry keys that are used by Visual Studio to find SDK components and drops files in the VS install directory. This can render it unusable. The worst problems are documented as sticky posts in the Windows SDK forum at the MSDN forums.
I had problems as well, the installer failed half-way through on my machine with a completely undescriptive error. On a pretty virgin machine with VS2008. It didn't roll back the install even though it failed, I had to edit the registry by hand to fix the damage.
I recommend you actually install the SDK on a machine you don't care about. Then copy the directory to a production machine and edit the VC++ directories yourself. Do strongly favor the v7.1 version instead. Good luck with it.
Should be fine as long as you don't try and install both versions of Visual Studio in the same folder. The SDK is essentially passive, you can have as many of them as you want installed, but you need to make sure that the paths that VS 2005 uses are to the older SDK rather than the newer one.
Since by default, the SDK is installed in a subfolder of the Visual Studio install folder, a long as you put different versions of VS in different folders, everything should work out fine all by itself.
Yes they can. I have 6.1 and 7.0 on one machine (Windows 7 64 bit no VS 2005 though) without any noticeable issues.
Definitely you can . u can set the sdk version u want to use each time .
This links tells how to set up your sdk versions in different visual studio versions.
http://msdn.microsoft.com/en-us/library/ff660764.aspx

Resources