通过conda安装xtensor后,官方入门第一个示例无法运行如何解决?
根因分析
- 编译时未指定符合要求的C标准:你使用的gcc 5默认编译标准为C98,而xtensor 0.23及配套的xtl 0.7依赖C++14及以上版本标准,缺失标准参数会导致无法识别
std::index_sequence、noexcept、[[noreturn]]等新语法特性,触发大量语法报错。 - 编译命令中shell变量未正确展开:你定义的
path_xtensor、path_xtl是shell变量,直接在-I后写变量名不会被shell解析,会被识别为字面量路径,导致头文件查找失败。
解决方案
使用如下修正后的编译命令即可:
g++ -std=c++14 -I $path_xtensor -I $path_xtl x.cpp -o x
如果需要更高性能可以额外添加优化参数:
g++ -std=c++14 -O2 -I $path_xtensor -I $path_xtl x.cpp -o x
内容的提问来源于stack exchange,提问作者klion
相关产品推荐
相关产品推荐

