【发布时间】:2019-12-20 09:14:32
【问题描述】:
我想检测 .cu 文件是否在启用 C++11 支持的情况下编译。目前我有以下内容:
#if CUDART_VERSION < 7050
#define C11SUPPORTED 0
#else
#define C11SUPPORTED 1
#endif
但这不起作用,因为即使支持 C++11,除非通过 -std=c++11 开关,否则不会启用它。当-std=c++11 被传递时,是否还有其他定义?
更新
nvcc --compiler-options -dM -E -x cu - < /dev/null | grep "__cplus"
返回
#define __cplusplus 201402L
我使用的是 NVCC 版本 V9.1.85。检查__cplusplus 是否有效,即使对于旧的 NVCC 版本?
【问题讨论】: