Visual Studio 2010 Express, Windows SDK 7.1, CMake

2019-05-25 21:03发布

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...

1条回答
疯言疯语
2楼-- · 2019-05-25 21:27

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

查看更多
登录 后发表回答