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: предупреждение обрабатывается как ошибка - файл объекта не создан"
Ошибка уже отвечает на ваш вопрос:
- Предупреждение было сгенерировано.
- Поскольку вы указали компилятору обрабатывать предупреждения как ошибки, произошла ошибка.
- Поскольку произошла ошибка, компилятор не создал объектный файл.
Если вы хотите узнать, что означает первоначальное предупреждение, то вам нужно спросить нас об этом предупреждении.
У меня просто была эта проблема. Настоящий источник путаницы заключается в том, что Microsoft Visual Studio перечисляет
ошибка C2220: предупреждение рассматривается как ошибка - файл объекта не создан
Строка отдельно от предупреждений - иногда даже до предупреждений - поэтому не сразу видно, что ошибка связана с перечисленными предупреждениями.
Исправьте все предупреждения, перечисленные для решения этой проблемы.
Я решу основной вопрос, а не проблему компиляции.
Переменные среды для любого процесса копируются из переменных его родительского процесса при запуске нового процесса. С этой точки зрения, единственное, что может их изменить, - это ваш процесс самостоятельно.
На практике это означает, что переход к диалоговому окну Windows для изменения переменных среды не изменяет эти значения ни для каких существующих процессов. Эти изменения применяются к explorer.exe
процесс, а затем любые новые процессы, запущенные из Проводника.
Существует возможный способ для приложения Windows получать уведомления об изменениях, внесенных в переменные среды, сделанные в Explorer. Подробности смотрите в разделе Как изменить переменную PATH через командную строку в Windows.
Попробуйте изменить имя переменной, например:
double height;
в
double Height;
работал на меня
в моем случае устранение всех бесполезных «объектов» приведет к этой ошибке