'cl' не распознается как внутренняя или внешняя команда, - PullRequest
53 голосов
/ 10 января 2012

Я пытаюсь скомпилировать программу hello world в Qt, используя Qt Creator.

Я получаю, что cl не распознается как внутренняя или внешняя команда.

Я использую Windows7 и Обе против 2008 и 2010 установлены в нем.Когда я использую Mingw, он компилируется нормально, но если использовать vs 2008, он выдает эту ошибку.

После установки пути Env = ..; ..; C: \ Program Files \ Microsoft Visual Studio 9.0 \ VC \ binтакже показывает ту же ошибку.

Ответы [ 10 ]

42 голосов
/ 10 января 2012

Я думаю cl не на вашем пути.Вы должны добавить это там.Рекомендуемый способ сделать это - запустить командную строку разработчика .

Цитирование статьи Задание переменных пути и среды для сборок из командной строки :

Чтобы открыть окно командной строки разработчика

  1. При появлении начального экрана Windows 8 введите Инструменты Visual Studio .Обратите внимание, что результаты поиска меняются по мере ввода;когда появится Инструменты Visual Studio , выберите его.

    В более ранних версиях Windows выберите Пуск и затем в поле поиска введите Инструменты Visual Studio.Когда в результатах поиска появится Visual Studio Tools , выберите его.

  2. В папке Visual Studio Tools откройте DeveloperКомандная строка для вашей версии Visual Studio.(Для запуска с правами администратора откройте контекстное меню командной строки разработчика и выберите Запуск от имени администратора .)

Как отмечается в статье, естьнесколько разных сочетаний клавиш для настройки разных наборов инструментов - вам нужно выбрать подходящий.

Если у вас уже открыто простое окно командной строки, вы можете запустить командный файл vcvarsall.bat с соответствующим аргументом для настройкипеременные среды.Цитируя ту же статью:

Для запуска vcvarsall.bat

  1. В командной строке перейдите в каталог установки Visual C ++.(Расположение зависит от системы и установки Visual Studio, но обычно это C: \ Program Files (x86) \ Microsoft Visual Studio версия \ VC.) Например, введите:

    cd "\Program Files (x86)\Microsoft Visual Studio 12.0\VC"
    
  2. Чтобы настроить это окно командной строки для 32-разрядных сборок x86 из командной строки, введите в командной строке:

    vcvarsall x86
    

Из статьи,Возможны следующие аргументы:

  • x86 (32-битный x86 собственный)
  • x86_amd64 (x64 на x86 cross)
  • x86_arm(ARM на кресте x86)
  • amd64 (64-битная версия x64)
  • amd64_x86 (x86 на кресте x64)
  • amd64_arm (ARM на x64крест)
6 голосов
/ 01 августа 2012

У меня была такая же проблема.Попробуйте создать bat-файл для запуска Qt Creator.Добавьте что-то вроде этого в файл bat:

call "C:\Program Files\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat"  
"C:\QTsdk\qtcreator\bin\qtcreator" 

Теперь я могу скомпилировать и получить:

jom 1.0.8 - empower your cores
11:10:08: The process "C:\QTsdk\qtcreator\bin\jom.exe" exited normally.
4 голосов
/ 28 июня 2016

Убедитесь, что вы перезагружаете компьютер после установки инструментов сборки.

Это и стало причиной возникновения ошибки.

3 голосов
/ 07 июля 2012

У меня была такая же проблема, и я решил ее, переключившись на MinGW с MSVC2010.

Выберите вкладку проекта на левой панели. Затем выберите «Цель». Оттуда измените версию Qt на MinGW вместо VC ++.

2 голосов
/ 10 января 2012

Вам нужно будет правильно установить переменные окружения для каждого компилятора.В меню «Программы» есть команды для каждого компилятора, который делает это при открытии командной строки.

Другой вариант, конечно, использовать IDE для построения приложения.

1 голос
/ 20 января 2016

У меня была эта проблема, потому что я забыл выбрать «Visual C ++» при установке Visual Studio.

Чтобы добавить его, см .: https://stackoverflow.com/a/31568246/1054322

0 голосов
/ 12 декабря 2018

У меня иногда возникает эта проблема при переходе с Debug на Release или наоборот. Закрытие и повторное открытие QtCreator и сборка снова решают проблему для меня.

Qt Creator 2.8.1; Qt 5.1.1 (MSVC2010, 32 бита)

0 голосов
/ 08 октября 2016

Для меня это было связано со сценарием, описанным Сми, с той лишь разницей, что сам vcvarsall.bat был сбой из-за неверного пути.Это было вызвано разрывом строки в пути, что означало, что vcvarsall.bat по какой-то причине не может найти каталог общих инструментов.

0 голосов
/ 26 марта 2016

Вы можете использовать командную строку для VS 2010, а затем выбрать путь, по которому находится ваш буст. Используйте "bootstrap.bat", вы можете успешно установить его.

0 голосов
/ 10 января 2016

У меня была такая же проблема в течение долгого времени, и я потратил Бог знает, сколько на ней, пока я случайно не подумал, что делать. Это решение работало в Windows 10. Все, что вам нужно сделать, это добавить C: \ WINDOWS \ System32 в Путь в поле Пользовательские переменные в Окружающая среда Переменные .. . Обратите внимание, что если вы добавите это к системным переменным, это также может сработать. Но это не сработало для меня.

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