Прежде всего, я хотел бы отметить, что у меня нет опыта работы с 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». Не намного лучше, чем раньше, но, по крайней мере, немного более последовательным.