我想在编译时检查环境变量是否存在,但我找不到方法。
原因是代码可维护性:我使用 QT,我创建了一个指向根安装目录的环境变量,用于引用头文件和库。
所以几年后,当我或我的同事检查项目并尝试编译它时,我想按照 please install QT version XYZ and create environment variable QT_PATH to point at the 行抛出一条自定义综合错误消息根目录
.
我知道自述文件是正确的做法,我也正在创建该文件,但我仍然想知道是否通常可以在编译时检查环境变量是否存在。
到目前为止,我最接近的是使用预处理器定义 QT_INSTALLATION_PATH=$(QT_PATH);
并检查它
#if QT_INSTALLATION_PATH == '\0'
#error "..."
#endif
如果 QT_PATH 不存在,它会抛出一个 expression expected
错误,如果它存在,则可以正常工作。
最佳答案
这样做的正确方法是使用 Visual Studio 生成器,它会在编译时间之前为您进行这些检查。
例如,CMake 在这方面做得非常好,可以选择特定版本的 Qt 或 OpenCV。 Qt 本身带有 QMake,但我建议您以通用生成器为目标(不确定 QMake 是否支持 OpenCV),即 CMake。
关于c++ - 如何在 Visual Studio 2017 C++ 编译时检查环境变量的存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54342245/