Проблемы построения проектов C ++ в TFS2010 при нацеливании на набор инструментов 2005 - PullRequest
2 голосов
/ 23 февраля 2012

Прежде всего, я хотел бы отметить, что у меня нет опыта работы с c ++, я не имею никакого представления о компоновщиках, заголовках или компиляторах и тому подобном, поэтому, пожалуйста, поговорите со мной об этом.

Мне было поручено создать определение сборки в TFS2010, которое будет собирать проекты 2010 c ++ (файлы vcxproj), но с использованием набора инструментов 2005 (v80). После поиска в Интернете я считаю, что это возможно после прочтения this (1) и this (2) . После прочтения этих статей я установил VS2005 на свою сборочную машину, прочитал эту статью и установил Daffodil для Visual Studio. После того как эти шаги были выполнены, я смог изменить Platform Toolset на v80 для всех необходимых проектов и приступил к настройке определения сборки для сборки проектов для конфигурации выпуска и платформ Win32 / x64.

После запуска определения сборки самый первый проект (на платформе Win32) не удалось собрать со следующим сообщением об ошибке:

TRACKER: Failed to locate: "CL.exe". The system cannot find the file specified.

Я также попытался удалить платформу Win32 из определения сборки, чтобы собиралась только платформа x64. Это привело к следующей ошибке (опять же, в самом первом проекте):

C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets (151): "cmd.exe" exited with code 9009.

У меня такое чувство, что я близок к тому, чтобы достичь того, чего я хочу, но я, очевидно, что-то упустил или неправильно понял по пути, и я не могу понять, что это такое.

После того, как первая сборка не удалась (для платформы Win32), я заметил, что в моем журнале есть разница, и образец файла журнала, размещенный примерно на половине страницы второй статьи, которую я прочитал во время исследования. Моя выглядела так:

CL.exe /c /Zi /nologo /W3 /WX- /O2 /Ob1 /Oy- /......

Хотя пример журнала сборки выглядит следующим образом:

C:\Program Files (x86)\Microsoft Visual Studio 8\VC\bin\CL.exe /c /Zi /nologo /W3 /WX- /O2 /Ob1 /Oy- /......

Возможно, мне кажется, что я что-то упустил в отношении файлов .props и .targets или, возможно, что-то связанное с каталогами VC ++, но решение ускользает от меня.

Пожалуйста, помогите мне, если можете, и заранее спасибо за любую помощь.

UPDATE

Я создал определение тестовой сборки для создания одного файла vcxproj с использованием набора инструментов 2005 для конфигурации выпуска с платформами Win32 / x64. Я изменил исполняемые каталоги в каталогах VC ++ свойств проекта так, чтобы они указывали на C: \ Program Files (x86) \ Microsoft Visual Studio 8 \ VC \ bin & C: \ Program Files \ Microsoft Visual Studio 8 \ VC \ bin как здесь CL.exe можно найти для обеих платформ. Похоже, что это обошло проблему «Failed to Locate CL.exe», но сборка не удалась для обеих платформ с ошибкой «cmd.exe завершен с кодом 9009». Не намного лучше, чем раньше, но, по крайней мере, немного более последовательным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...