如何让Cython使用C++20编译器?查看与设置方法
在Cython中启用C++20支持的解决方案
查看当前使用的编译器
在Jupyter的Cython魔法命令中,通过添加编译参数输出编译器版本信息:
%%cython -+ -c="--version"
运行后会打印当前编译器的名称、版本等详细信息,比如GCC、Clang或MSVC的具体版本。
设置编译器支持C++20
Cython的%%cython魔法命令可以通过-c参数向C++编译器传递标准版本选项,根据你使用的编译器选择对应参数:
针对GCC/Clang编译器
%%cython -a -+ -c="-std=c++20" from libcpp.bit cimport popcount print(popcount(5))
(旧版本GCC可替换为-std=c++2a)
针对MSVC编译器
%%cython -a -+ -c="/std:c++20" from libcpp.bit cimport popcount print(popcount(5))
原因说明
你在Visual Studio中能正常运行是因为VS默认会为新项目配置符合当前版本的C标准(或你手动选择了C20),但Cython默认使用的编译器标准版本较低(通常是C11或C17),因此需要显式指定C++20标准才能启用<bit>头文件中的特性。
内容的提问来源于stack exchange,提问作者Todd Sierens
相关产品推荐
相关产品推荐

