Cl не является внутренней или внешней командой исполняемой программы или пакетного файла

Обновлено: 21.11.2024

Если вы получаете сообщение об ошибке, например, "cl не распознается как внутренняя или внешняя команда, исполняемая программа или пакетный файл", ошибка C1034 или ошибка LNK1104, командная строка вашего разработчика настроена неправильно. Чтобы узнать, как решить эту проблему, вернитесь к разделу Открытие командной строки разработчика.

Что означает CLN в Common Lisp?

Подтипы комплексных чисел среди них — это в точности те типы чисел, которые известны в языке Common Lisp. Поэтому CLN можно использовать для реализаций Common Lisp, придавая «CLN» другое значение: оно становится аббревиатурой «Common Lisp Numbers».

Можете ли вы скомпилировать программу C в командной строке?

Пошаговое руководство. Скомпилируйте программу C в командной строке. Visual C++ включает в себя компилятор C, который можно использовать для создания чего угодно: от базовых консольных программ до полноценных приложений Windows Desktop, мобильных приложений и многого другого.

Какие функции есть в пакете CLN?

Пакет CLN реализует элементарные функции (+, -, *, /, sqrt, сравнения, …), логические функции (логические и, или, не, …), трансцендентные функции (экспоненциальные, логарифмические, тригонометрические, гиперболические функции и их обратные функции). CLN — это библиотека C++. Использование C++ в качестве языка реализации обеспечивает

Если вы получаете сообщение об ошибке, например, "cl не распознается как внутренняя или внешняя команда, исполняемая программа или пакетный файл", ошибка C1034 или ошибка LNK1104, командная строка вашего разработчика настроена неправильно. Чтобы узнать, как решить эту проблему, вернитесь к разделу Открытие командной строки разработчика.

Почему компилятор GCC не распознается в Visual Studio?

Вы получаете сообщение «gcc» не распознается как внутренняя или внешняя команда, исполняемая программа или пакетный файл, поскольку на вашем компьютере не установлен компилятор gcc. Но если вы хотите установить его, вы можете следовать этому руководству. Но я настоятельно рекомендую вам использовать интегрированную среду разработки Visual Studio, о которой я упоминал выше.

Почему GCC не распознается как внутренняя команда?

Это руководство предназначено для C++, но оно работает и для C. Потому что C++ использует тот же компилятор, что и C, но с некоторыми дополнительными вещами (простое объяснение). Вы получаете сообщение «gcc» не распознается как внутренняя или внешняя команда, исполняемая программа или пакетный файл, поскольку на вашем компьютере не установлен компилятор gcc.

Почему cmd.exe не распознает ‘cl’?

Другими словами, обработчику командной строки cmd.exe было предложено запустить исполняемый файл cl.exe, но он не может его найти. Его либо нет в ПУТИ, либо он не установлен. Я уже добавил путь к переменным среды, но все же столкнулся с этой проблемой. cl.exe -? Просто выполните поиск окна для cl.exe и добавьте этот путь в переменную PATH, сохраните его.

Другими словами, обработчику командной строки cmd.exe было предложено запустить исполняемый файл cl.exe, но он не может его найти. Его либо нет в ПУТИ, либо он не установлен. Я уже добавил путь к переменным среды, но все же столкнулся с этой проблемой. cl.exe -? Просто выполните поиск окна для cl.exe и добавьте этот путь в переменную PATH, сохраните его.

Что делать, если Cl не находится на вашем пути?

Я думаю, что cl не находится на вашем пути. Вам нужно добавить его туда. Рекомендуемый способ сделать это — запустить командную строку разработчика. Цитирование статьи Установка переменных пути и среды для сборок из командной строки: при отображении начального экрана Windows 8 введите Инструменты Visual Studio.

Где мне ввести Cl в командной строке?

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

Почему CL не распознается как внутренний или внешний?

Когда я использую Mingw, компилируется нормально, но при использовании vs 2008 выдает эту ошибку. После установки Env Path =..;..;C:\\Program Files\\Microsoft Visual Studio 9.0\\VC\\bin также отображается та же ошибка. Я думаю, что cl не находится на вашем пути. Вам нужно добавить его туда. Рекомендуемый способ сделать это — запустить командную строку разработчика.

Как исправить, что команда не распознается как внутренняя или внешняя?

Как исправить команду, не распознанную как внутреннюю или внешнюю. Шаг 1. Перейдите в C:WindowsSystem32, чтобы проверить, действительно ли программа существует. Вы можете выполнить поиск и найти целевой исполняемый файл в папке System32. Если программа существует, вы можете продолжить изменять переменные среды Windows, чтобы исправить командную строку, не распознающую ошибки команд.

Я думаю, что cl не находится на вашем пути. Вам нужно добавить его туда. Рекомендуемый способ сделать это — запустить командную строку разработчика.Цитирование статьи Установка переменных пути и среды для сборок из командной строки: при отображении начального экрана Windows 8 введите Инструменты Visual Studio.

В этом руководстве вы настроите Visual Studio Code для использования компилятора и отладчика Microsoft Visual C++ в Windows.

После настройки VS Code вы скомпилируете и отладите простую программу Hello World в VS Code. В этом учебнике не рассказывается подробно о наборе инструментов Microsoft C++ или языке C++. По этим темам в Интернете доступно множество хороших ресурсов.

Если у вас возникнут какие-либо проблемы, не стесняйтесь сообщить о проблеме для этого руководства в репозитории документации VS Code.

Предпосылки

Чтобы успешно завершить это руководство, необходимо сделать следующее:

Установите расширение C/C++ для VS Code. Вы можете установить расширение C/C++, выполнив поиск «c++» в представлении «Расширения» ( ⇧⌘X (Windows, Linux Ctrl+Shift+X )).

Установите набор инструментов компилятора Microsoft Visual C++ (MSVC).

Если у вас установлена ​​последняя версия Visual Studio, откройте установщик Visual Studio из меню "Пуск" Windows и убедитесь, что рабочая нагрузка C++ проверена. Если он не установлен, установите флажок и нажмите кнопку «Изменить» в программе установки.

Вы также можете установить рабочую нагрузку "Разработка рабочего стола на C++" без полной установки интегрированной среды разработки Visual Studio. На странице загрузок Visual Studio прокрутите вниз, пока не увидите Инструменты для Visual Studio 2022 в разделе Все загрузки, и выберите загрузку для инструментов сборки для Visual Studio 2022.

При этом будет запущен установщик Visual Studio, который откроет диалоговое окно с доступными рабочими нагрузками Visual Studio Build Tools. Проверьте рабочую нагрузку "Разработка рабочего стола с помощью C++" и выберите "Установить".

Примечание. Вы можете использовать набор инструментов C++ из Visual Studio Build Tools вместе с Visual Studio Code для компиляции, сборки и проверки любой кодовой базы C++, если у вас также есть действующая лицензия Visual Studio (Community, Pro , или Enterprise), которые вы активно используете для разработки этой кодовой базы C++.

Проверьте установку Microsoft Visual C++

Чтобы использовать MSVC из командной строки или VS Code, необходимо выполнить запуск из командной строки разработчика для Visual Studio. В обычной оболочке, такой как PowerShell, Bash или командная строка Windows, не установлены необходимые переменные среды пути.

Чтобы открыть командную строку разработчика для VS, начните вводить слово «разработчик» в меню «Пуск» Windows, и оно должно появиться в списке предложений. Точное имя зависит от того, какая версия Visual Studio или Visual Studio Build Tools у вас установлена. Выберите элемент, чтобы открыть приглашение.

Вы можете проверить правильность установки компилятора C++, cl.exe , введя 'cl', и вы должны увидеть сообщение об авторских правах с версией и основным описанием использования.

Если командная строка разработчика использует расположение BuildTools в качестве начального каталога (вам не следует помещать туда проекты), перейдите в папку пользователя ( C:\users\\ ), прежде чем начинать создавать новые проекты.< /p>

Примечание. Если по какой-то причине вы не можете запустить VS Code из командной строки разработчика, вы можете найти обходной путь для создания проектов C++ с помощью VS Code в разделе Запуск VS Code вне командной строки разработчика.

Создать Hello World

В командной строке разработчика создайте пустую папку с именем "projects", в которой вы можете хранить все свои проекты VS Code, затем создайте подпапку с именем "helloworld", перейдите в нее и откройте VS Code ( code ) в этой папке. ( . ), введя следующие команды:

Код . Команда открывает VS Code в текущей рабочей папке, которая становится вашей «рабочей областью». По мере прохождения руководства вы увидите три файла, созданных в папке .vscode в рабочей области:

  • tasks.json (инструкции по сборке)
  • launch.json (настройки отладчика)
  • c_cpp_properties.json (путь к компилятору и настройки IntelliSense)

Добавить файл исходного кода

В строке заголовка проводника нажмите кнопку "Новый файл" и назовите файл helloworld.cpp .

Добавить исходный код Hello World

Теперь вставьте этот исходный код:

Теперь нажмите ⌘S (Windows, Linux Ctrl+S ), чтобы сохранить файл. Обратите внимание, как только что добавленный файл отображается в представлении Проводника ( ⇧⌘E (Windows, Linux Ctrl+Shift+E )) на боковой панели VS Code:

Вы также можете включить функцию "Автосохранение" для автоматического сохранения изменений в файле, установив флажок "Автосохранение" в главном меню "Файл".

Панель действий в крайнем левом углу позволяет открывать различные представления, например «Поиск», «Управление версиями» и «Выполнить». Вы познакомитесь с представлением «Выполнить» позже в этом руководстве. Дополнительные сведения о других представлениях см. в документации по пользовательскому интерфейсу VS Code.

Примечание. Когда вы сохраняете или открываете файл C++, вы можете увидеть уведомление от расширения C/C++ о доступности версии Insiders, которая позволяет протестировать новые функции и исправления. Вы можете проигнорировать это уведомление, выбрав X (Удалить уведомление).

Исследуйте IntelliSense

В новом файле helloworld.cpp наведите указатель мыши на вектор или строку, чтобы увидеть информацию о типе. После объявления переменной msg начните вводить msg. как при вызове функции-члена. Вы должны немедленно увидеть список завершения, который показывает все функции-члены, и окно, которое показывает информацию о типе для объекта msg:

Вы можете нажать клавишу Tab, чтобы вставить выбранный элемент; затем, когда вы добавите открывающую скобку, вы увидите информацию обо всех аргументах, которые требуются функции.

Сборка helloworld.cpp

Далее вы создадите файл tasks.json, чтобы указать VS Code, как собирать (компилировать) программу. Эта задача вызовет компилятор Microsoft C++ для создания исполняемого файла на основе исходного кода.

В главном меню выберите «Терминал» > «Настроить задачу сборки по умолчанию». В раскрывающемся списке будет отображаться раскрывающийся список задач со списком различных предопределенных задач сборки для компиляторов C++. Выберите cl.exe build active file, который создаст файл, отображаемый (активный) в данный момент в редакторе.

Это создаст файл tasks.json в папке .vscode и откроет его в редакторе.

Ваш новый файл tasks.json должен выглядеть примерно так, как показано ниже:

Настройка команды определяет программу для запуска; в данном случае это «cl.exe». Массив args указывает аргументы командной строки, которые будут переданы в cl.exe. Эти аргументы должны быть указаны в порядке, ожидаемом компилятором. Эта задача сообщает компилятору C++ взять активный файл ($), скомпилировать его и создать исполняемый файл (/Fe: переключатель) в текущем каталоге ($) с тем же именем, что и у активного файла, но с расширением .exe. ( $.exe ), что в нашем примере приводит к helloworld.exe.

Примечание. Подробнее о переменных tasks.json можно узнать в справочнике по переменным.

Значение ярлыка — это то, что вы увидите в списке задач; вы можете назвать это как хотите.

Значение ProblemMatcher выбирает анализатор выходных данных, который будет использоваться для поиска ошибок и предупреждений в выходных данных компилятора. Для cl.exe вы получите наилучшие результаты, если будете использовать средство сопоставления задач $msCompile.

Значение isDefault: true в групповом объекте указывает, что эта задача будет запущена при нажатии ⇧⌘B (Windows, Linux Ctrl+Shift+B ). Это свойство предназначено только для удобства; если вы установите для него значение false, вы все равно сможете запустить его из меню терминала с помощью Tasks: Run Build Task.

Запуск сборки

Вернитесь к файлу helloworld.cpp . Ваша задача создает активный файл, и вы хотите построить helloworld.cpp .

Чтобы запустить задачу сборки, определенную в tasks.json , нажмите ⇧⌘B (Windows, Linux Ctrl+Shift+B ) или в главном меню терминала выберите Задачи: Запустить задачу сборки.

При запуске задачи под редактором исходного кода должна появиться панель встроенного терминала. После завершения задачи терминал показывает выходные данные компилятора, указывающие на то, была ли сборка успешной или неудачной. Для успешной сборки C++ вывод выглядит примерно так:

Если сборка завершается сбоем из-за того, что не найден cl.exe или отсутствует путь включения, убедитесь, что вы запустили VS Code из командной строки разработчика для Visual Studio.

Создайте новый терминал с помощью кнопки +, и у вас будет новый терминал (работающий с PowerShell) с папкой helloworld в качестве рабочего каталога.Запустите ls, и теперь вы должны увидеть исполняемый файл helloworld.exe вместе с различными промежуточными выходными файлами C++ и файлами отладки ( helloworld.obj , helloworld.pdb ).

Вы можете запустить helloworld в терминале, набрав .\helloworld.exe .

Примечание. Возможно, сначала вам придется несколько раз нажать Enter, чтобы увидеть приглашение PowerShell в терминале. Эта проблема должна быть исправлена ​​в будущем выпуске Windows.

Изменение tasks.json

Вы можете изменить файл tasks.json для создания нескольких файлов C++, используя такой аргумент, как "$\\*.cpp" вместо $ . Это создаст все файлы .cpp в вашей текущей папке. Вы также можете изменить имя выходного файла, заменив "$\\$.exe" жестко заданным именем файла (например, "$\\myProgram.exe" ).

Отладка файла helloworld.cpp

Далее вы создадите файл launch.json, чтобы настроить VS Code для запуска отладчика Microsoft C++ при нажатии клавиши F5 для отладки программы. В главном меню выберите «Выполнить» > «Добавить конфигурацию». а затем выберите C++ (Windows).

После этого вы увидите раскрывающийся список для различных предопределенных конфигураций отладки. Выберите cl.exe для сборки и отладки активного файла.

VS Code создает файл launch.json, открывает его в редакторе, строит и запускает "helloworld".

Настройка программы определяет программу, которую вы хотите отлаживать. Здесь указывается активная папка с файлами $ и активное имя файла с расширением .exe $.exe , которое, если активным файлом является helloworld.cpp, будет helloworld.exe .

По умолчанию расширение C++ не добавляет никаких точек останова в исходный код, а для параметра stopAtEntry установлено значение false . Измените значение stopAtEntry на true, чтобы отладчик останавливался на основном методе при запуске отладки.

Начать сеанс отладки

  1. Вернитесь к файлу helloworld.cpp, чтобы он стал активным.
  2. Нажмите F5 или в главном меню выберите «Выполнить» > «Начать отладку». Прежде чем вы приступите к просмотру исходного кода, обратите внимание на несколько изменений в пользовательском интерфейсе:

Интегрированный терминал отображается в нижней части редактора исходного кода. На вкладке «Вывод отладки» вы видите вывод, указывающий на то, что отладчик запущен и работает.

Редактор выделяет первый оператор в основном методе. Это точка останова, которую расширение C++ автоматически устанавливает для вас:

В представлении «Выполнение» слева отображается отладочная информация. Вы увидите пример позже в этом руководстве.

В верхней части редактора кода появляется панель управления отладкой. Вы можете перемещать его по экрану, хватая точки с левой стороны.

Пошаговое выполнение кода

Теперь вы готовы приступить к выполнению кода.

Нажимайте значок Step over на панели управления отладкой, пока не будет выделен оператор for (const string& word : msg).

Команда Step Over пропускает все вызовы внутренних функций в векторных и строковых классах, которые вызываются при создании и инициализации переменной msg. Обратите внимание на изменение в окне переменных слева. В этом случае ошибки ожидаются, потому что, хотя имена переменных для цикла теперь видны отладчику, оператор еще не выполнен, поэтому в этот момент читать нечего. Однако содержимое msg видно, потому что этот оператор завершен.

Нажмите Step over еще раз, чтобы перейти к следующему оператору в этой программе (пропустив весь внутренний код, который выполняется для инициализации цикла). Теперь в окне «Переменные» отображается информация о переменных цикла.

Снова нажмите Step, чтобы выполнить оператор cout. Примечание. Начиная с версии расширения за март 2019 г. выходные данные не отображаются до завершения цикла.

Если хотите, вы можете продолжать нажимать Step over до тех пор, пока все слова в векторе не будут напечатаны на консоли. Но если вам интересно, попробуйте нажать кнопку Step Into, чтобы просмотреть исходный код в стандартной библиотеке C++!

Чтобы вернуться к собственному коду, один из способов – продолжать нажимать кнопку "Перейти". Другой способ — установить точку останова в вашем коде, переключившись на вкладку helloworld.cpp в редакторе кода, поместив точку вставки где-нибудь в операторе cout внутри цикла и нажав F9.Красная точка появляется в поле слева, указывая на то, что в этой строке установлена ​​точка останова.

Затем нажмите F5, чтобы начать выполнение с текущей строки в заголовке стандартной библиотеки. Выполнение прервется на cout . Если хотите, вы можете снова нажать F9, чтобы отключить точку останова.

Настроить часы

Иногда вам может понадобиться отслеживать значение переменной во время выполнения вашей программы. Вы можете сделать это, установив наблюдение за переменной.

Поместите точку вставки внутри цикла. В окне Watch выберите знак «плюс» и в текстовом поле введите слово, которое является именем переменной цикла. Теперь просмотрите окно Watch, когда будете проходить цикл.

Добавьте еще одно наблюдение, добавив этот оператор перед циклом: int i = 0; . Затем внутри цикла добавьте следующий оператор: ++i; . Теперь добавьте часы для i, как вы делали это на предыдущем шаге.

Чтобы быстро просмотреть значение любой переменной, пока выполнение приостановлено в точке останова, вы можете навести на нее указатель мыши.

Конфигурации C/C++

Если вам нужен больший контроль над расширением C/C++, вы можете создать файл c_cpp_properties.json, который позволит вам изменять такие параметры, как путь к компилятору, включаемые пути, стандарт C++ (по умолчанию C++ 17) и многое другое.

Вы можете просмотреть пользовательский интерфейс конфигурации C/C++, выполнив команду C/C++: Edit Configurations (UI) из палитры команд ( ⇧⌘P (Windows, Linux Ctrl+Shift+P )).

При этом открывается страница конфигураций C/C++. Когда вы вносите здесь изменения, VS Code записывает их в файл с именем c_cpp_properties.json в папке .vscode.

Visual Studio Code помещает эти параметры в файл .vscode\c_cpp_properties.json . Если вы откроете этот файл напрямую, он должен выглядеть примерно так:

Добавлять в параметр Включить массив путей нужно только в том случае, если ваша программа включает файлы заголовков, которых нет в вашей рабочей области или в пути стандартной библиотеки.

Путь к компилятору

ПараметрcompilePath является важным параметром в вашей конфигурации. Расширение использует его для определения пути к файлам заголовков стандартной библиотеки C++. Когда расширение знает, где найти эти файлы, оно может предоставлять полезные функции, такие как интеллектуальное завершение и навигация «Перейти к определению».

Расширение C/C++ пытается указать вcompilePath местоположение компилятора по умолчанию на основе того, что оно находит в вашей системе. Расширение выглядит в нескольких общих местах расположения компилятора.

Порядок поиска по пути компилятора:

  • Сначала проверьте наличие компилятора Microsoft Visual C++Ope
  • Затем найдите g++ в подсистеме Windows для Linux (WSL)
  • Затем g++ для Mingw-w64.

Если у вас установлены g++ или WSL, вам может потребоваться изменить значениеcompilePath, чтобы оно соответствовало предпочитаемому компилятору для вашего проекта. Для Microsoft C++ путь должен выглядеть примерно так, в зависимости от установленной версии: "C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/VC/Tools/MSVC/14.16.27023/bin /Hostx64/x64/cl.exe".

Повторное использование конфигурации C++

VS Code теперь настроен на использование компилятора Microsoft C++. Конфигурация применяется к текущей рабочей области. Чтобы повторно использовать конфигурацию, просто скопируйте файлы JSON в папку .vscode в новой папке проекта (рабочей области) и при необходимости измените имена исходных файлов и исполняемого файла.

Запуск VS Code вне командной строки разработчика

В некоторых случаях невозможно запустить VS Code из командной строки разработчика для Visual Studio (например, в сценариях удаленной разработки через SSH). В этом случае вы можете автоматизировать инициализацию командной строки разработчика для Visual Studio во время сборки, используя следующую конфигурацию tasks.json:

Примечание. Путь к VsDevCmd.bat может отличаться в зависимости от версии Visual Studio или пути установки. Вы можете найти путь к VsDevCmd.bat, открыв командную строку и запустив каталог "\VsDevCmd*" /s .

Устранение неполадок

Термин «cl.exe» не распознается

Если вы видите сообщение об ошибке "Термин "cl.exe" не распознается как имя командлета, функции, файла сценария или исполняемой программы.", это обычно означает, что вы запускаете VS Code вне командной строки разработчика для Visual Studio, и VS Code не знает путь к компилятору cl.exe.

VS Code необходимо либо запускать из командной строки разработчика для Visual Studio, либо задачу необходимо настроить для запуска вне командной строки разработчика.

После применения обновления я переставляю комплекты в параметрах Qt.
И теперь я не могу запустить проект в Qt. Появится сообщение ниже.

После применения обновления я переставляю комплекты в параметрах Qt

Почему и каким образом?
Есть ли у вас какие-либо предупреждения/ошибки в ваших комплектах?

@jsulm ,
Я только что запустил Qt Cereator с надеждой, но я попал ниже «Общего сообщения»

А мой экран Kits такой. У меня есть несколько комплектов Android, и я не знаю, почему?

@Mucip Вы пробовали выполнить полную/чистую сборку: удалить папку сборки, запустить qmake, собрать?

@jsulm ,
Да.
Я удалил скомпилированную папку. Запустите qmake и повторите сборку. К сожалению, та же ошибка.

Перейдите в раздел "Компиляторы" и нажмите "Повторно определить", затем "Применить".

@Бонни
Я делал это много раз. :(
Та же проблема.

Если вы запускаете командную строку из «Командная строка собственных инструментов x64 для VS 2019» в меню «Пуск», можете ли вы запустить cl?

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

@Bonnie,
Да, я добавил только пути к драйверам PostgreSQL.

Но до обновления VS2019 все было в порядке. :(

@Mucip Тогда попробуйте сначала сбросить путь, а после этого снова добавить пути к драйверам.

@Bonnie
Кажется, с вашей помощью я нашел решение.

Теперь все в порядке.

Но я не знаю, почему так получилось?!

Спасибо всем, ребята. :)

@Bonnie
Возможно, вы правы.
Но я использую это более 1 года, и я сделал много обновлений VS2019 за этот период.
Это было впервые. Интересно.

Если бы Господь Бог Вседержитель посоветовался со мной перед тем, как приступить к Творению, я бы порекомендовал что-нибудь попроще.
- Альфонсо Мудрый, король Кастилии 13 века.

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

обычно я запрашиваю файл, подобный следующему

Вы можете использовать правило частичного содержимого 206 для чтения части файла с удаленного сервера.

у меня есть небольшая сумма для строки комментария "// или /*. */"
я использую много строк комментариев в моей программе mfc, это занимает много времени для выполнения и компиляции.

1, если для компиляции и выполнения требуется время. и еще один тест
2,если командная строка занимает место в памяти. если нет, значит, как компилятор идентифицировать командные строки.

2, если командная строка занимает место в памяти. если нет, значит, как компилятор идентифицировать командные строки. Confused

Вы имеете в виду строку комментариев, не так ли?

Хорошо.
Не заморачивайтесь и продолжайте много комментировать.

Кстати (просто здравый смысл)
- Возможно, ваша программа требует много времени для компиляции, потому что она огромна.
- Возможно, ваша программа выполняется медленно из-за неэффективности дизайна.

Если бы Господь Бог Вседержитель посоветовался со мной перед тем, как приступить к Творению, я бы порекомендовал что-нибудь попроще.
- Альфонсо Мудрый, король Кастилии 13 века.

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

Компилятор никогда не увидит ваши комментарии, поскольку они удаляются препроцессором.

"Любите людей и пользуйтесь вещами, а не любите вещи и пользуйтесь людьми". - Неизвестно

"Кирпичные стены стоят не просто так. Чтобы остановить людей, которые не хотят этого достаточно сильно". – Рэнди Пауш

'nmake' не распознается как внутренняя или внешняя команда,
рабочая программа или пакетный файл.

затем я скопировал nmake.exe в папку, и теперь, когда я пытаюсь
появляется следующая ошибка.


'cl' не распознается как внутренняя или внешняя команда,
рабочая программа или пакетный файл.
NMAKE : фатальная ошибка U1077: 'cl' : код возврата '0x1'
Стоп.

запустили ли вы пакетный файл (из командной оболочки, в которой находитесь) для настройки среды? .. по памяти (во всяком случае, для vs6), это vcvars32.bat

Какую версию Visual Studio вы используете? (хотя я не понимаю, почему это имело бы слишком большое значение, если бы среда была настроена)

если вы выполните команду set в командном окне, как будет выглядеть путь?

Я использую Visual Studio 2005

результат команды set

Вы уверены, что запускали vcvars32 (или эквивалент для VS2005) в ЭТОМ сеансе? .. не похоже, что путь к инструментам VS2005 установлен .. обычно в PATH вы ожидаете некоторые каталоги microsoft vs - если вы выполняете поиск с помощью проводника для nmake (исходная версия, а не та, которую вы скопировали), вы должны увидеть это место в PATH, а его там нет.

не уверен, что смогу с этим помочь - Orbix Comet можно собрать только на VC6, по крайней мере, на Windows - Другие версии Orbix для Windows (например, 6.3.4), похоже, можно собрать с более поздними версиями - с их веб-сайта .

"Требования Orbix COMet
Orbix COMet поддерживается только с Microsoft Visual C++ 6.0. Orbix 6.3.4 также поддерживает Visual C++ 7.1, Visual C++ 8.0 и Visual C++ 9.0. Однако Orbix COMet не поддерживает эти более новые версии компилятора и работает только с Visual C++ 6.0."

.. плюс у меня есть опыт работы с mingw

Если вы пытаетесь соответствовать Orbix 6.3.4, почему бы вам не загрузить VS 2008 Express или что-то подобное?

Вызывали ли вы GetLastError(), чтобы проверить причину сбоя?
Большинство проблем с VISTA решаются с помощью повышенных прав администратора.
Покопайтесь в этом форуме, вы найдете много похожих вопросов..

Эти статьи могут помочь вам
Vista UAC Guide[^]
Vista Elevator[^]
[EDIT]
Вот результаты поиска по проблемам Vista, которые были заданы в этот форум
Проблемы Vista[^]
[/EDIT]
Надеюсь, это поможет.

У вас нет прав создавать каталоги там, где вам нравится.
См. ссылки в первом ответе.

Не зная, какие каталоги вы пытались создать, мы можем только догадываться о причине.
Что возвращает GetLastError при сбое CreateDirectory?

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

Я пытаюсь преобразовать dll, ранее созданную в Visual Studio 6, в VS 2005. Я получаю следующую ошибку:-

1>c1xx: ошибка C3174: не указан атрибут модуля
1>ССЫЛКА: фатальная ошибка LNK1250: не удалось объединить содержимое IDL

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

Но мне нужна сама DLL в VS2005.

кто-нибудь может мне помочь?

Я создал проект в VC6 и теперь хочу преобразовать свой проект в VC2008..

Что я сделал, так это просто открыл файл dsp в среде VC2008. Он спросил, хотите ли вы преобразовать все файлы, я нажал «да».

Теперь выдает ошибку времени компиляции C2440: 'static_cast': невозможно преобразовать из 'LRESULT (__thiscall CTextProgressCtrl::*)(UINT,LPCTSTR)' в 'LRESULT (__thiscall CWnd::*)(WPARAM,LPARAM)'

функция карты сообщений.

Как я могу это удалить.

т.е. Измените тип последнего аргумента (метода-нарушителя) с LPCTSTR на LPARAM (а затем выполните явное приведение типов внутри функции).

Пожалуйста, разместите объявление метода, нарушающего правила.

Если бы Господь Бог Вседержитель посоветовался со мной перед тем, как приступить к Творению, я бы порекомендовал что-нибудь попроще.
- Альфонсо Мудрый, король Кастилии 13 века.

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

Читайте также: