Visual Studio 2010 Express, Windows SDK 7.1, CMake и 64-разрядные
У меня проблемы с генерацией 64-битного проекта Visual Studio 2010 Express через CMake. Сначала я установил VS2010 Express, затем Windows SDK 7.1, чтобы иметь возможность создавать 64-битные приложения, а затем попытался скомпилировать мой проект CMake.
Я не помню, чтобы это было так сложно с 2008 Express, но с 2010 я терплю неудачу снова и снова. По умолчанию в 2010 выполняется поиск SDK 7.0a, который поставляется вместе с ним. Экспресс-версия, кажется, поставляется с сокращенной 32-битной версией, которая находится под
.../Program Files(X86)/Microsoft SDKs/Windows/7.0a
Windows SDK 7.1 64bit будет установлен по умолчанию в
.../Program Files/Microsoft SDKs/Windows/7.0
В VS 2010 Express SDK платформы можно менять для каждой карты проекта, и если я это сделаю, макросы унаследованного пути неожиданно указывают на правильный SDK. Проблема сейчас в том, что CMake не рад, что я сам копаюсь в файлах проекта. Таким образом, он всегда сбрасывает запись Platform SDK в значение по умолчанию, в результате чего Windows SDK указывает на 7.0a и приводит к жалобам на отсутствие 64-битных библиотек.
Теперь я вижу две возможности решить эту проблему:
Найдите способ действительно интегрировать 7.1 SDK в VS2010 Express, как и в VS2008. VS2008 ищет в реестре тег "CurrentInstallFolder" в записи Windows SDK, и вы можете изменить эту запись, чтобы она указывала на другой SDK.
Найдите способ указать CMake (2.8.1) установить правильный SDK платформы в проекте. Нет плана, как это сделать...
Буду признателен за любую помощь. 2010 год несколько обязателен, к сожалению, я лично не могу к нему привыкнуть...
1 ответ
Хорошо, обновление до последней версии CMake (2.8.12) решило эту проблему, теперь CMake обнаруживает SDK 7.1 и устанавливает его в файлах проекта.
Редактировать: набор инструментов можно выбрать в файле CMake с помощью флага CMAKE_GENERATOR_TOOLSET