Чи можу я завантажити компілятор командного рядка Visual C ++ без Visual Studio?


79

Відповідно до назви. Я не хочу завантажувати весь інсталятор Visual C ++, лише "cl.exe" та інші програми, необхідні для компіляції та зв'язування програм C ++ у Windows.


Я позначив відповідь "це неможливо" як правильну, оскільки насправді неможливо (наскільки я можу сказати) завантажити компілятор командного рядка окремо, саме про це було поставлено запитання. Я розумію , від відповіді Nayana, що це можливо , щоб мати CLI компілятор встановлений без Visual Studio встановлений (вручну переміщаючи необхідні файли з установки), але питання конкретно поставлене питання про завантаження пакета без завантаження всього Visual Studio.
magnus

2
@ user1420752: суть полягала в тому, що для ввічливості слід чекати досить довго, щоб інші відповіли. Навіть якщо відповідь "достатньо гарна", може бути краща з іншого часового поясу. Тут грають приємні рахунки для багатьох.
david.pfx

3
Просто у мене теж було це питання, і я досить розчарований, що мені потрібно коментувати. Зараз я змушений встановити 3gig для завантаження, лише щоб скористатися інструментом командного рядка, який, на мою думку, СОТРУТАЄ кілька сотень мегабайт!

10
Зараз це підтримується Microsoft. blogs.msdn.com/b/vcblog/archive/2015/11/02/…
Роланд Барбе,

2
Тільки примітка: хоча ви можете використовувати MSVC2015 Build Tools як компілятор командного рядка, зверніть увагу, що це "важить" щонайменше 3 ГБ (і набагато більше для підтримки Windows 8.1 / 10 SDK), де старий добрий MSVC Express 2010 з його IDE ( який ви ніколи не могли відкрити і просто скомпілювати cl.exe) це навіть не 0,5 ГБ. MSVC2015 Build Tools навіть не встановлює PATH, і ви отримаєте помилки, не знаходячи папок ...

Відповіді:


16

У 2014 році ви не могли завантажити компілятор Visual C ++ самостійно від Microsoft.

Раніше було, що ти міг. Тоді раніше могло бути, що ви можете отримати його в SDK платформи. Тоді отримати його можна було лише встановивши Visual Studio.

На щастя, на той час компілятор, який був у комплекті з Visual Studio Express for Desktop (на той час це була безкоштовна версія Visual Studio), був і є тим самим, що ви отримуєте з професійними або універсальними виданнями.

У листопаді 2015 року Microsoft знову почала надавати інструменти компілятора в окремо стоячому пакеті під назвою Visual C ++ Build Tools .

Microsoft пише:

Інсталятор C ++ Build Tools не запускатиметься на машині, на якій уже встановлено Visual Studio 2015. Підтримується зворотне (тобто оновлення до Visual Studio).

Довгострокова ситуація, як завжди, незрозуміла. І, застереження: Я сам не використовував інструменти побудови - спочатку мені довелося б видалити Visual Studio.


visualstudio.com/support/legal/dn877550 Якщо ви підприємство, ваші співробітники та підрядники не можуть використовувати програмне забезпечення для розробки або тестування ваших програм, за винятком цілей з відкритим кодом та освіти, як це дозволено вище. "Підприємство" - це будь-яка організація та її філії, які в сукупності мають або (а) понад 250 ПК або користувачів, або (б) більше одного мільйона доларів США (або еквівалент в інших валютах) річних доходів, а "філії" означає ті суб'єкти господарювання, які контролюють (через мажоритарну власність), контролюються або перебувають під спільним контролем з організацією.
NotAgain каже Поновити Моніку

Отже, якщо я хочу скомпілювати проекти VC ++ на сервері збірки у своїй компанії, я не можу встановити "Microsoft Visual Studio Community 2013". І у нас немає Ultimate Edition Visual Studio.
NotAgain каже Reinstate Monica

Коли ви працюєте на підприємстві з більш ніж 250 ПК або доходом понад мільйон доларів США, а я це зробив у 1990-х, отримати належну версію Visual Studio так само просто, як сказати, що вона вам потрібна, або зв’язатися з Люди, що займаються ІТ-підтримкою, або навіть просто отримайте доступ до колекції програм самостійно. Або, принаймні, це повинно бути так просто. Як правило, не є гарною ідеєю використовувати інструменти розробки, які ваша компанія не надає, оскільки тоді інші матимуть проблеми з підтримкою речей.
Вітаю і hth. - Альф

16

Як уже було сказано, цього неможливо зробити. Потрібно завантажити весь комплект обсягом 4-6 ГБ +. Розгортання MS - це болю.

Однак немає необхідності фактично встановлювати все. Якщо ви задумали встановити вручну, ви можете витягти окремі компоненти з набору та розмістити їх у більш організованому дереві каталогів.

Наприклад, я знайшов наступний набір як мінімум, необхідний для використання поточних компіляторів MSVC2013 в середовищі x86:

  • vc_compilerCore86.msi: Набір інструментів MSVC;
  • vc_compilerCore86res.msi: Ресурси MUI набору інструментів MSVC;
  • vc_librarycore86.msi: Матеріали бібліотеки MSVC;
  • vc_LibraryDesktopX86.msi: Більше матеріалів бібліотеки MSVC;
  • Windows Software Development Kit for Windows Store Apps-x86_en-us.msi: Windows SDK файли і пов'язані з ними інструменти ( rc.exe, mt.exeі т.д.);
  • Windows Software Development Kit-x86_en-us.msi: Більше файлів для Windows SDK ( в Зокрема, WinSock2.h, WS2_32.lib, можливо , інші).

Пам'ятайте, що ви можете витягти вміст файлу MSI, запустивши msiexec /a <msifile> TARGETDIR="<path>"(запишіть /quietпараметр, якщо ви виконуєте пакетну роботу). Звичайно, ви також можете вкласти більше у свій пакет, дослідивши файли MSI всередині пакета. Зокрема, у наведеному вище наборі відсутні найновіші інструменти MSBuild, оскільки я не дбаю про них. Матеріали часто незрозуміло розкидані між кількома MSI, тому удачі.

У мене є файл розміром 50 Мб (!!!) 7z, що містить цей набір для локального розгортання, хоча я не можу поділитися цим публічно через обмеження ліцензування Microsoft.


ОНОВЛЕННЯ:

Ось список файлів MSI для інструментів, заголовків та бібліотек MSVC2015:

packages\VisualC_D14\VC_Tools.Core\VC_Tools.Core.msi
packages\VisualC_D14\VC_Tools.Core.Res\VC_Tools.Core.Res.msi
packages\VisualC_D14\VC_Tools.X86.Base\VC_Tools.X86.Base.msi
packages\VisualC_D14\VC_Tools.X86.Base.Res\VC_Tools.X86.Base.Res.msi
packages\VisualC_D14\VC_Tools.X86.Nat\VC_Tools.X86.Nat.msi
packages\VisualC_D14\VC_Tools.X86.Nat.Res\VC_Tools.X86.Nat.Res.msi
packages\VisualC_D14\VC_Tools.X86.X64\VC_Tools.X86.X64.msi
packages\VisualC_D14\VC_Tools.X86.X64.Res\VC_Tools.X86.X64.Res.msi
packages\VisualC_D14\VC_PremTools.X86.Base\VC_PremTools.X86.Base.msi
packages\VisualC_D14\VC_PremTools.X86.Base.Res\VC_PremTools.X86.Base.Res.msi
packages\VisualC_D14\VC_PremTools.X86.Nat\VC_PremTools.X86.Nat.msi
packages\VisualC_D14\VC_PremTools.X86.Nat.Res\VC_PremTools.X86.Nat.Res.msi
packages\VisualC_D14\VC_PremTools.X86.X64\VC_PremTools.X86.X64.msi
packages\VisualC_D14\VC_PremTools.X86.X64.Res\VC_PremTools.X86.X64.Res.msi
packages\VisualC_D14\VC_CRT.Headers\VC_CRT.Headers.msi
packages\VisualC_D14\VC_CRT.X86.Desktop\VC_CRT.X86.Desktop.msi
packages\VisualC_D14\VC_CRT.X86.Store\VC_CRT.X86.Store.msi
packages\VisualC_D14\VC_CRT.X64.Desktop\VC_CRT.X64.Desktop.msi
packages\VisualC_D14\VC_CRT.X64.Store\VC_CRT.X64.Store.msi
packages\VisualC_D14\VC_CRT.Redist.Res\VC_CRT.Redist.Res.msi
packages\VisualC_D14\VC_CRT.Redist.X86\VC_CRT.Redist.X86.msi
packages\VisualC_D14\VC_CRT.Redist.X64\VC_CRT.Redist.X64.msi
packages\VisualC_D14\VC_ATL.Headers\VC_ATL.Headers.msi
packages\VisualC_D14\VC_ATL.X86\VC_ATL.X86.msi
packages\VisualC_D14\VC_ATL.X64\VC_ATL.X64.msi
packages\VisualC_D14\VC_MFC.Headers\VC_MFC.Headers.msi
packages\VisualC_D14\VC_MFC.X86\VC_MFC.X86.msi
packages\VisualC_D14\VC_MFC.X64\VC_MFC.X64.msi
packages\VisualC_D14\VC_PGO.Headers\VC_PGO.Headers.msi
packages\VisualC_D14\VC_PGO.X86\VC_PGO.X86.msi
packages\VisualC_D14\VC_PGO.X64\VC_PGO.X64.msi
packages\Win10_UniversalCRTSDK\Universal CRT Headers Libraries and Sources-x86_en-us.msi

І ось список файлів MSI для інструментів, заголовків та бібліотек WinSDK10 (завантажуються окремо):

Installers\Windows SDK Desktop Headers Libs Metadata-x86_en-us.msi
Installers\Windows SDK Desktop Tools-x86_en-us.msi
Installers\Windows SDK for Windows Store Apps Headers Libs-x86_en-us.msi
Installers\Windows SDK for Windows Store Apps Tools-x86_en-us.msi

Все це включає речі для обох x86та x64(я не розглядав ARM або IA64). Обидва пакети, стиснуті за допомогою LZMA, дадуть файл розміром 185 МБ.


5
vc_LibraryDesktopX64.msiЗдається, додавання є мінімальним мінімумом для збірки x64.
nwellnhof

@Alek Де я можу отримати ці * .MSI?
An Hoa

@AnHoa: Для MSVC ви витягуєте їх із ISO. Для WinSDK ви завантажуєте веб-інсталятор і запускаєте setup.exe /layout <path>. Веб-інсталятор завантажить їх (без інсталяції) у вказаний каталог.
alecov


Отже, по суті, ви кажете, якщо я просто скопіюю купу каталогів з існуючої інсталяції, я можу мати компілятор? і це може бути кілька паперів від VC, а може і Common7. так?
Слава

5

Оновлення: Інструменти побудови Visual C ++ 2015 знаходяться тут: http://landinghub.visualstudio.com/visual-cpp-build-tools

Інструменти побудови Visual C ++ 2017 тепер є частиною звичайного інсталятора VS 2017. Просто виберіть потрібні навантаження. Інформація знаходиться на тій же сторінці.

Це посилання є кращим ніж посилання на блог нижче, оскільки це офіційна цільова сторінка, і воно буде постійно оновлюватися.

Я в команді C ++. Якщо у вас виникли запитання щодо використання інструментів побудови VC ++ або взагалі щодо MSVC, не соромтеся надсилати мені електронного листа. Моя електронна адреса - це моє ім’я користувача StackOverflow @ microsoft.com.


3
Посилання застаріле і більше не доступне
Adrian W

3

Одного разу я намагався зробити те саме, що і ти. Але MS не надає ізольованого компілятора. Отже, якщо вам потрібен компілятор MS C ++, вам потрібно встановити VS. Але якщо ви любите пригоди. це хитрий спосіб це зробити. Спробуйте тут . Хрі!


1
+1. Це корисно, оскільки ви можете змусити його працювати без повної установки. Однак я не позначив це як правильне, оскільки запитання ставило, чи можна його завантажувати окремо, а не завантажувати повністю та копіювати та вставляти необхідні файли вручну.
magnus

3

У підсумку я використав Chocolatey , який має пакет інструментів побудови Visual C ++ .

Ця команда:

choco install visualcpp-build-tools 

встановить останню версію 2017 року, але ви можете вибрати одну зі старих версій, яка включає випуск 2015 року.

Після встановлення папка Visual Studio 2017 додається до меню Програми . Він включає ярлики до різних командних підказок розробника за допомогою cl.exe та інших інструментів у шляху.


2

Станом на 2019 рік Microsoft пропонує Visual Studio Build Tools, який включає лише компілятор, інструменти побудови та SDK. Це сховано у списку всіх завантажень.


3
Схоже на мережевий міні-інсталятор. Це 1,3 Мб. Неможливо архівувати, копіювати та встановлювати в автономному режимі. Звичайно, він скоро зірветься, тобто менше 5 років, як тільки MS вимкне свої сервери. Не уявляю, чи можна його встановити неінтерактивно. Не знаю, чи можуть кілька версій співіснувати. Не знаю, як вибрати одну конкретну версію. Усе ще складний і незрозумілий у порівнянні з будь-яким дистрибутивом Linux, або навіть створенням gcc або clang самостійно. Не маю уявлення про ліцензію. Обнадіює.
Йохан Буле

1
@ JohanBoulé На сьогодні існує велика документація MSDN щодо майже всіх цих тем. Наприклад, установка в автономному режимі можлива за допомогою локального кешу або мережевого кешу .
Макс Трукса,

2
@MaxTruxa Дякую за посилання. Це схоже на складний процес, для розслідування якого знадобиться досить багато часу. Я думаю, що вони коли-небудь можуть задовольнити потреби людей, які не хочуть вибирати різні пакети із набору розміром 35 ГБ, а просто хочуть простого компілятора, компонувальника та основних бібліотек, в одному портативному архіві, який ми можемо витягти, де завгодно.
Йохан Буле

0

Ви можете використовувати компілятор MSVC без Visual Studio, і остання версія доступна тут:

http://www.microsoft.com/en-us/download/details.aspx?id=41151

Також тут є веб-сайт, де докладно описані параметри командного рядка для компілятора:

http://msdn.microsoft.com/en-us/library/9s7c9wdw.aspx


4
Я вже спробував вищезазначене завантаження. Встановлення завершилось, оскільки мені повідомили, що Visual Studio не встановлено і вимагається. Я думаю, що вищевказаний інсталятор додає новий компілятор до існуючої інсталяції Visual Studio, щоб увімкнути функції C ++ 11 та C ++ 14.
magnus

4
@ user1420752: Правильно. "Цей пакет вимагає попередньої інсталяції
VIsual
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.