MSVC2013: как избежать прерывания процесса сборки с ошибкой сценария предварительной сборки (ошибка MSB3073:: VCEnd "завершена с кодом -1) - PullRequest
0 голосов
/ 11 апреля 2019

Я установил событие предварительной сборки в MSVC13, которое завершается с error MSB3073: :VCEnd" exited with code -1. И я не могу обойти эту ошибку, я не хочу останавливать процесс сборки, даже если файл bat завершается с ошибкой.

Я настроил

BuildEvents> Событие предварительной сборки

с вызовом файла bat. Командная строка:

call $ (ProjectDir) \ pre_build.bat $ (Configuration) = 1

Этот bat-файл содержит 2 обращения к другим bat-файлам.Первый завершается с ошибкой (но мне все равно, так как подзадача, которую я хочу, она выполняет), а вторая в порядке.

В pre-build.bat я пытался перехватитьэта ошибка и обновите значение, чтобы сказать, что все в порядке в MSVC, но я не могу добиться успеха.Я попытался отобразить ERRORLEVEL, но он содержит 0. Я попытался установить ERRORLEVEL в 0, но ничего не изменилось на уровне MSVC.Я попытался добавить выход 0, выход / b 0 или @ выход 0 в конце моего файла bat, но не изменился.

Я нашел эту ссылку (https://blogs.msdn.microsoft.com/astebner/2006/08/08/how-to-make-visual-studio-2005-ignore-return-codes-from-pre-build-events/), объясняющую, как сказатьв MSVC, чтобы игнорировать ошибки, но это не работает, как написано для MSVC2005, а синтаксис PreBuildEvent в vcxproj изменился.

Если я запускаю свой скрипт в консоли, он завершается с ошибкой, но, какКак уже было сказано ранее, я не забочусь об этой ошибке, часть работы выполнена.

Я также пытаюсь использовать MSVC в качестве администратора, без изменений.

Содержимое моей предварительной сборки.bat:

call build.bat% * TOOLCHAIN ​​= mdk4cc5 TC_NO_CHECK = 1

, а build.bat запускает SCons (у меня нет знаний по SCons)

Если у вас есть идея о том, как игнорировать эту ошибку в MSVC для продолжения процесса сборки (независимо от того, является он чистым или нет), это будет очень полезно, так как я уже потратил на это целый день ...

Большое спасибо за ваши отзывы и ответы.

1 Ответ

0 голосов
/ 11 апреля 2019

Я не настоящий эксперт по C ++, но, возможно, этот пост может вам помочь: Отключить единственное предупреждение об ошибке

Кто-то в Ответах говорил о Pragma Surprass, чтобы вы могли попробовать это:

#pragma warning(suppress: 4101)

// here goes your single line of code where the warning occurs

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