cl.exe не найден в Visual Studio 2017 [дубликат]

Исправить исключение NullReferenceException можно с помощью Null-условных операторов в c # 6 и написать меньше кода для обработки нулевых проверок.

Он используется для проверки нуля до выполнения доступа к члену (?. ) или index (? [).

Пример

  var name = p?.Spouse?.FirstName;

эквивалентен:

    if (p != null)
    {
        if (p.Spouse != null)
        {
            name = p.Spouse.FirstName;
        }
    }

В результате имя будет нулевым когда p равно null или когда p.Spouse имеет значение null.

В противном случае имени переменной будет присвоено значение p.Spouse.FirstName.

Для получения дополнительной информации: Операторы с нулевым условием

29
задан Imperian 14 November 2011 в 19:49
поделиться

5 ответов

Вам нужно будет добавить папку, содержащую файл «cl.exe», в переменную среды пути. Например:

C:\Program Files\Microsoft Visual Studio 10.0\VC\bin

Изменить: Хорошо, перейдите в «Мой компьютер» -> «Свойства» -> «Расширенные настройки системы» -> «Переменные среды». Здесь найдите «PATH» в списке и добавьте путь выше (или что-то еще, где находится ваш cl.exe).

32
ответ дан Tudor 26 August 2018 в 16:46
поделиться

cl.exe - компилятор Microsoft C / C ++. Поэтому проблема заключается в том, что у вас нет того, что установлено там, где может найти его.

3
ответ дан Chris Dodd 26 August 2018 в 16:46
поделиться

Я вижу, что это старый вопрос, но я недавно получил эту ошибку в своей Visual Studio 2012, когда попытался построить мой проект CUDA. По-видимому, я изменил свой проект CUDA на пакет Nov 2012, заменив его обратно на v110, который, как правило, по умолчанию фиксировал эту ошибку.

В Visual Studio щелкните левой кнопкой мыши по проекту CUDA, -> properties-> Configuration Properties-> General -> Platform toolet и выберите: Visual Studio 2012 (v110).

Я мог бы, вероятно, заставить его работать с пакетом Nov 2012, но код CUDA не использует никаких дополнительных функций этого пакета, поэтому он не нужен. (Этот пакет содержит вариационные шаблоны для C ++ 11.)

0
ответ дан Donna 26 August 2018 в 16:46
поделиться

Решите эту проблему, добавив эти параметры в nvcc

nvcc x.cu ...   -ccbin "D:\Program Files\Microsoft Visual Studio 11.0\VC\bin"

, например, мой компилятор - VS2012. и cl.exe находится в этом каталоге

12
ответ дан Prof. Hell 26 August 2018 в 16:46
поделиться

nvcc является только интерфейсом для конкретной части программы CUDA. Он должен вызывать полный компилятор для завершения задания. В этом случае он не может найти компилятор Visual Studio компилятора cl.exe

, документацию nvcc и т. Д.

1
ответ дан Steve Fallows 26 August 2018 в 16:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: