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