Я хотел бы проверить во время компиляции, существует ли переменная окружения, и я не могу найти способ сделать это.
Причина заключается в возможности сопровождения кода: я использую QT и создал переменную среды, которая указывает на корневой каталог установки, который будет использоваться для ссылки на заголовки и библиотеки.
Поэтому, когда спустя несколько лет я или мой коллега проверили проект и попытались скомпилировать его, я хочу выдать пользовательское подробное сообщение об ошибке в виде please install QT version XYZ and create environment variable QT_PATH to point at the root directory
.
Я знаю, что файл readme является правильным способом сделать это, и я тоже создаю его, но я все еще хочу знать, возможно ли вообще проверять наличие переменных среды во время компиляции.
Самое близкое, что я получил до сих пор, это использование определения препроцессора QT_INSTALLATION_PATH=$(QT_PATH);
и проверка его с помощью
#if QT_INSTALLATION_PATH == '\0'
#error "..."
#endif
, который выдает ошибку expression expected
, если QT_PATH не существует, и работает нормально, если он существует.