Получаете ли вы отладочные утверждения в C ++, когда CRT не установлен? - PullRequest
0 голосов
/ 15 июля 2010

Если у вас установлена ​​отладочная версия программы на C ++, работающая в операционной системе без установленной VS или CRT, вы все равно получите сообщения об ошибках Debug Assertion?

Те, которые говорят: «Отладка не удалась!».

Или вы получите их только тогда, когда на машине установлены определенные компоненты, такие как CRT или Visual Studio?

Ответы [ 2 ]

2 голосов
/ 15 июля 2010

Зависит от того, как вы создали свое приложение. Если вы динамически связываетесь с отладочным CRT, то очень маловероятно, что пользователь будет иметь отладочные CRT в своей системе, если они не разработчики (и на самом деле вы не можете распространять их из-за лицензирования VS). Так что в этом случае это даже не будет работать. Если вы статически ссылаетесь на CRT, тогда пользователь увидит подтверждения, если вы отправили им отладочную сборку.

1 голос
/ 15 июля 2010

Если вы можете заставить его работать, да.Компиляция с / MDd (по умолчанию) требует распространения отладочной версии динамического CRT.Это не распространяемый компонент, его доставка в любом случае является нарушением лицензии.Вы можете обойти это, скомпилировав с помощью /MTd.

. Конечно, ваш пользователь не будет знать, что означает «Отладка подтверждения не удалось», и не поймет, почему Ignore не работает.Лучше всего избегать.

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