Я знаю, что такого рода ошибки публиковались много раз, но я так и не нашел четкого решения, ни в Google.
я использую teamcity
(и программирование в C++
) и я получаю следующее сообщение об ошибке при запуске:
Compilation error: c-interface\build-VS2012\ZERO_CHECK.vcxproj
id=12106;type=TC_COMPILATION_ERROR;identity=c-interface\build-VS_1_1568984478;
additionalData=compileBlockId='64'
Open in IDE C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.CppCommon.targets(172, 5): error MSB6006: "cmd.exe" exited with code 3.
Тот же код в локальной компиляции правильно, так что это не из-за кода, я не знаю, связано ли это с teamcity
Конфигурация или для создания агента на удаленной машине или, возможно, разрешения.
Я сделал сборку вручную, и у меня нет того же, что у меня было в местном. Используя высокую детализацию, обнаружил, что ошибка исходит из:
D: \ PortFolioCalculator \ BuildAgent \ работа \ 7f2ffd93194f947d \ с-интерфейс \ наращиванием VS2012 \ Win32 \ Debug \ ZERO_CHECK \ custombuild.command.1.tlog
Внутри у нас есть это:
setlocal «C: \ Program Files (x86) \ CMake 2.8 \ bin \ cmake.exe» -HC: / tortoise6 / c-interface -BC: / tortoise6 / c-interface / build-VS2012 —check-stamp-list CMakeFiles /generate.stamp.list —vs-solution-file «d: \ PortFolioCalculator \ BuildAgent \ work \ 7f2ffd93194f947d \ c-interface \ build-VS2012 \ rain.sln»
—> нет папки cmake 2.8 и нет папки c: \ tortoise6.
Моя проблема в репозитории, откуда сделать проверку кода, нет папки Win32, эта папка создается во время вопросов msbuild.2:
Как я могу изменить это, чтобы не иметь эту папку, которая только для Visual Studio?
Считаете ли вы хорошей идеей сказать Teamcity отключить эту проблему во время компиляции?
Любое предложение?
Спасибо
Потеряв много дней, я нашел решение.
Cmake всегда работает. для каждой сборки, запущенной в teamcity, мы должны сделать cmake, поэтому обязательны 2 шага:
1- в папке teamcity (она должна существовать и уже должна быть правильно заполнена) проекта я запускаю cmake \ bin \ cmake.exe -D__TEAM_CITY = 1 ..
cmake.exe — это двоичный файл, включенный в проект (или установленный на сборочном компьютере).
2- затем: MSbuild TeamCity / file.sln
Сборка была выполнена правильно в teamcity