Як зробити так, щоб збірка Visual Studio була багатослівною?


98

Мені потрібно влаштувати кожен прапор, кожен перемикач, який використовується у процесі збирання бінарних файлів Visual Studio. Я намагався отримати багатослівний вихід, використовуючи vcbuild, але не зміг.

Що я повинен зробити, щоб побачити все, що виконується Visual Studio для мене? Не потрібно отримувати вихід у вікні збірки. Будь-де було б добре.


Відповіді:


67
  1. Відкрийте діалогове вікно властивостей проекту та виберіть

    Властивості конфігураціїC / C ++Загальні

  2. Змініть налаштування Suppress Startup BannerнаNo

  3. clКомандний рядок (S) буде показана у вікні виводу.


1
Це впливає лише на компілятор, не на посилання або ресурси.
користувач2284570

6
У VS2017 цей «фокус», схоже, більше не працює. Однак побудова в підказці розробника, використовуючи msbuild з рішенням або ім'ям файлу проекту, оскільки аргумент cli показує виклик cl з його аргументами.
Еміль Врейдагс,

@EmileVrijdags Я чудово бачу clвихід команди з VS2017, виконуючи ці кроки. Тож «фокус» працює для мене.
nephewtom

151

Інструменти меню → ОпціїПроекти та рішенняПобудувати і запуститиMSBuild проекту збіг виводу багатослівний : Діагностичний


2
Це нічого не змінює. Я все одно отримую той самий вихід у вікні виводу.
Гео

3
Мені добре працює у VC10.
abergmeier

2
@Geo це набуває чинності після перезапуску Visual Studio.
абсинс

@absynce, У VS 2017 це не набуває чинності навіть при перезапуску Visual Studi0 2017. Я використовую версію спільноти VS 2017. Отже, ця функціональність не реалізована належним чином у VS 2017.
Суніл,

65

Visual Studio 2008:

Перейдіть до меню ІнструментиОпції, потім Проект та рішенняСтворити та запустити розділ. У вас є комбіноване поле для деталізації.

Параметр компілятора C ++ (властивості проекту):

  • Препроцесор - Створення попередньо обробленого файлу для перегляду одиниці перекладу, згенерованої препроцесором
  • Додатково - Показати включає - відображення включених імен файлів на виході компілятора

1
Тут не відображаються прапори компіляції та посилання, а лише імена файлів, які обробляються. Чи можливо побачити точні команди, які виконуються, або це неможливо за допомогою VS?
stefanB

2
@stefanB: для цього вам не потрібні спеціальні прапори. Командні рядки для виклику компілятора та лінкера можна знайти в діалоговому вікні параметрів або в журналі збірки, записаному в проміжний каталог.
Яків Галка

8

Якщо ви працюєте з MSBuild, ви можете встановити прапор / v: diag.


Як би я запустив MSBuild?
Гео

запустіть командний рядок візуальної студії (він знаходиться в меню "Пуск"), а потім виконайте проект візуальної студії за допомогою: MSBuild {ProjectName}
Joe

наприклад, MsBuild myProject.csproj
Джо

Я бачу виклики MSBuild vcbuild, але vcbuild не показує прапори / комутатори, які він використовує.
Гео

Це правильна відповідь, я вважаю. Просто вимкнення придушення різних банерів все ще не видає все. Зокрема, я шукав крок збирання ресурсів.
Іван

5

У Visual Studio перейдіть до свого проекту та клацніть правою кнопкою миші на ньому та виберіть властивості. У Linker є варіант командного рядка. Там у вас є всі варіанти, і ви можете додати свої власні. Додайте /VERBOSEта під час зв’язування Visual Studio покаже набагато більше інформації.


1
Він показує більше інформації, але не показує інструменти, що викликаються для компіляції.
Geo

2
Visual Studio має інструмент створення, який називається nmake. Ви можете експортувати свій проект до цих make-файлів і створити його з консолі dos msdn.microsoft.com/en-us/library/txcwa2xx(VS.80).aspx . Востаннє я робив щось подібне (але я використовував CMake для створення nmake makefiles) всі команди були надруковані на дисплей консолі.
javier-sanz
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.