0

我第一次尝试在 Visual Studio 2019 中使用 xtensor,但出现“无法打开源文件“xtl/xsequence.hpp”之类的错误。

文件夹“xtl”正确地位于目录中。在文件中,它被写入#include <xtl/xsequence.hpp>并且当我将其更改为#include "xtl/xsequence.hpp". 我可以更改它,但错误在其他文件中发生了 73 次。有什么方法可以在不进行 73 次单独更改的情况下进行修复?

这是我到目前为止所做的:

出现多次的原始问题。

原来的问题

修复涉及将 <> 更改为“”。

修复

的位置xtl

地点

到目前为止我试图做的事情。

我试过的(1)

我试过的(2)

仍然出现的错误类型的快照。 错误依旧

4

2 回答 2

2

标准所称的headers<>源文件之间存在技术上的区别,headers是标准库提供的东西,使用"".

在实践中,它真正的意思是<>在指定的一组目录中""查找,而首先在本地目录中查找。您可以添加一个目录<>以使用编译器选项进行检查。对于msvc,该选项是/I.

于 2019-09-24T15:12:17.767 回答
0

尖括号使预处理器在 INCLUDE 环境变量指定的目录中搜索 .H。双引号表示预处理器首先搜索包含父源文件的目录。

编译器按以下顺序搜索目录:

1,如果使用双引号形式的#include 指令指定,它首先搜索本地目录。搜索从与包含#include 语句的文件相同的目录开始。如果找不到文件,它会在当前打开的包含文件的目录中搜索,以打开它们的相反顺序。搜索从父包含文件的目录开始,并继续向上通过任何祖父包含文件的目录。

2,如果使用尖括号形式的#include 指令指定,或者如果本地目录搜索失败,它会搜索使用/I 选项指定的目录,按照CL 在命令行中遇到它们的顺序。

3、INCLUDE环境变量中指定的目录。

我建议您可以尝试将 xtl/xsequence.hpp 文件的路径添加到附加包含目录(属性 -> c/c++ -> 常规 -> 附加包含目录)

在此处输入图像描述

于 2019-09-25T07:31:03.180 回答