Скомпилировать командную строку с помощью cl.exe?
Я пытаюсь использовать компилятор Visual Studio Express 2010 С++ без использования среды IDE. Я нашел cl.exe в C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin. Однако у меня есть несколько трудностей. Во-первых, это дало мне предупреждение, когда я набираю cl, говоря: "Программа не может запускаться, потому что mspdb100.dll отсутствует на вашем компьютере".
Итак, добавьте C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE в системный путь, а затем повторите попытку, но на этот раз:
Неустранимая ошибка C1510: Не удается загрузить языковой ресурс clui.dll.
Любая идея, как решить это, чтобы я мог скомпилировать? Также как бы я установил путь, поэтому я могу просто набрать "cl main.cpp" и т.д. Изнутри папки решений, которая не содержит cl.exe. На данный момент я должен быть внутри папки bin. Благодарю.
Ответы
Ответ 1
Попробуйте запустить командную строку Visual Studio из
Start->
All Programs ->
Microsoft Visual Studio 2010 ->
Visual Studio Tools ->
Visual Studio Command Prompt 2010
В качестве альтернативы вы можете настроить среду, запустив ее в командной строке:
"c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86
(обратите внимание: после запуска ваша среда будет настроена.)
(примечание2: измените x86
по желанию. Параметры x86
, ia64
, amd64
, x86_amd64
, x86_ia64
)
Оттуда вы можете запустить cl.exe
. Если вы хотите, чтобы это было автоматически выполнено и отменено всякий раз, когда вы запускаете cl
, создайте пакетный файл с этим контентом:
@echo off
%comspec% /c ""c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86 && cl.exe %*"
(/c
сообщает командной строке о завершении сеанса после запуска этой команды, поэтому ваша среда возвращается в нормальное состояние.)
Оттуда назовите его cl.bat
. Поместите это в папку где-нибудь и добавьте путь к этой папке в переменную среды PATH
, убедившись, что она доходит до пути до cl.exe
, так что этот cl.bat
выполняется всякий раз, когда вы вводите cl
вместо cl.exe
Я рекомендую вам просто поместить cl.bat
в вашу папку system32/
, она должна появиться до пути cl.exe
при установке по умолчанию.
В качестве альтернативы вы можете добавить его в любом порядке и всегда набирать cl.bat
или называть его чем-то другим, чтобы не было путаницы.
Ответ 2
Просто используйте vcvarsall.bat
, как предположил jsvk:
"c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86
После этого используйте devenv.exe
, чтобы построить свой материал, если вы будете в безопасности от многих головных болей:
devenv solutionfile.sln /build [ solutionconfig ] [ /project projectnameorfile [ /projectconfig name ] ]
Есть много других ключей командной строки, которые вы можете проверить с помощью devenv /?
.
Ответ 3
У меня установлено несколько версий VS; Я создаю маленький .BAT файл для каждой версии, помещенный где-то в путь, который вызывает соответствующий "vcvarsall.bat". например "vc9.bat" вызывает vcvarsall.bat для VS2008, а "vc10.bat" вызывает vcvarsall.bat для VS2010. Я могу открыть обычное командное окно, как обычно, типа "vc9" и presto, это командное окно готово для компиляции и т.д., Используя VS2008.
Ответ 4
Это довольно простая и прочная задача. Сначала добавьте путь компилятора к системному пути.:C:\ Program Files\Microsoft Visual Studio 10.0\VC\bin; Затем откройте командную строку и смените каталог в исходную папку; Затем выполните файл vcvars32.bat, чтобы настроить среду для использования vС++ на x86; После этого теперь вы можете ввести cl для компиляции своей программы
Ответ 5
Эти ошибки возникают, когда у компоновщика заканчивается память.
Вы можете использовать архитектуру инструмента x64. Инструменты Visual Studio.
Командная строка msbuild:
msbuild myproject.vcxproj /p:PreferredToolArchitecture=x64
Или, еще лучше, добавьте его в настройки проекта в .vcxproj.
Чтобы указать 64-битную версию компилятора и инструментов, добавьте следующий элемент группы свойств в файл проекта Myproject.vcxproj после элемента Microsoft.Cpp.default.props:
<PropertyGroup>
<PreferredToolArchitecture>x64</PreferredToolArchitecture>
</PropertyGroup>
Эти параметры заставят Visual Studio использовать инструменты в папках архитектуры amd64 (в соответствии с целевой архитектурой):
VC\Bin\amd64
VC\Bin\amd64_x86
VC\bin\amd64_arm
https://msdn.microsoft.com/en-us/library/dd293607.aspx