C++ не создан объектный файл

Это некоторый код для получения переменной окружения внутри Qt, однако, похоже, что Qt QProcessEnvironment::systemEnvironment() отражают только изменение новой переменной среды после перезагрузки. Так что я думаю об использовании getenv. Однако я получил "error C2220: warning treated as error - no 'object' file generated" из этого:

QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
const QString ENGINE_ROOT = env.value("ENGINE_ROOT", "") != "" ? 
env.value("ENGINE_ROOT","") : QString(getenv("ENGINE_ROOT"));

Не говорите мне что-то вроде отключения /WX или понизьте W4 до W3, я не хочу это слышать, я хочу точно знать, что является причиной

не создан объектный файл

,

5 ответов

"ошибка C2220: предупреждение обрабатывается как ошибка - файл объекта не создан"

Ошибка уже отвечает на ваш вопрос:

  1. Предупреждение было сгенерировано.
  2. Поскольку вы указали компилятору обрабатывать предупреждения как ошибки, произошла ошибка.
  3. Поскольку произошла ошибка, компилятор не создал объектный файл.

Если вы хотите узнать, что означает первоначальное предупреждение, то вам нужно спросить нас об этом предупреждении.

У меня просто была эта проблема. Настоящий источник путаницы заключается в том, что Microsoft Visual Studio перечисляет
ошибка C2220: предупреждение рассматривается как ошибка - файл объекта не создан
Строка отдельно от предупреждений - иногда даже до предупреждений - поэтому не сразу видно, что ошибка связана с перечисленными предупреждениями.

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

Я решу основной вопрос, а не проблему компиляции.

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

На практике это означает, что переход к диалоговому окну Windows для изменения переменных среды не изменяет эти значения ни для каких существующих процессов. Эти изменения применяются к explorer.exe процесс, а затем любые новые процессы, запущенные из Проводника.

Существует возможный способ для приложения Windows получать уведомления об изменениях, внесенных в переменные среды, сделанные в Explorer. Подробности смотрите в разделе Как изменить переменную PATH через командную строку в Windows.

Попробуйте изменить имя переменной, например:

double height;

в

double Height;

работал на меня

в моем случае устранение всех бесполезных «объектов» приведет к этой ошибке

Другие вопросы по тегам