【发布时间】:2023-04-04 09:07:01
【问题描述】:
我的跨平台项目上的构建系统有一个用于英特尔 Windows C++ 的命令行,由于检测到编译器功能集,它可能有也可能没有 /Qstd=c++0x。对于大多数代码库来说,这很有效,但是对于少数 CUDA 文件,我需要禁用最新的 C++ 方言以适应 nvcc 包装编译器的约束。
我应该如何在命令行末尾使用 /Qstd=c++98 或 /Qnostd=c++0x 之类的语句,以便它覆盖任何早期的 C++ 方言规范?
编辑:在了解到这些标志实际上是用于英特尔编译器的之后,我发现附加 /Qstd=c++98 可能是正确的方法。
【问题讨论】: