致命错误:字符串:没有这样的文件或目录#include <string>

Posted

技术标签:

【中文标题】致命错误:字符串:没有这样的文件或目录#include <string>【英文标题】:fatal error: string: No such file or directory #include <string> 【发布时间】:2021-05-29 11:51:40 【问题描述】:

注意,这里是 C++ 初学者,但我有使用其他语言(以及不太复杂的开发环境)编码的合理经验。

我在 Visual Studio 工作,使用 Visual Micro 来处理 arduino 项目。项目的细节并不重要,因为此时,我在一个完全空的 .ino/.cpp 文件中遇到了错误:

致命错误:字符串:没有这样的文件或目录#include . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ^~~~~~~~ 编译终止

在“深度搜索”库发现过程中遇到错误 过程。项目“CylinderPrinter”的构建失败

#include <string>

// the setup function runs once when you press reset or power the board
void setup() 
    string h = "";


// the loop function runs over and over again until power down or reset
void loop() 
  

到目前为止,我已经尝试了很多方法,因为这似乎是一个比较常见的错误:

    大多数排列:#include "string"; #include "string.h"; #包括 ; #包括 ; #include ; using namespace std(这显然是不好的做法);等 在我的项目中同时包含“string”和“string.h”依赖项,而不是将它们作为外部依赖项引用(在这种情况下,编译器会标记“string is undefined in this scope”) 将字符串调用为 std::string 以避免命名空间问题(编译器声明“字符串不是 std 的成员”) 在编译器窗口中更改目标路径(诚然,我不知道我在这里做什么,所以我可能需要一些建议...) 重新安装Visual C++ redistributable(我试过x86和x64...) 在新项目中重新启动我的代码 在 arduino 开发环境中重新启动我的代码(同样的错误,我认为这表明存在系统性问题)。

据我所知,我没有取得任何有意义的进展。以下是一些可能有用的附加屏幕截图:

Screenshot of Debug Properties: VC++ Directories Screenshot of solution explorer Screenshot of Debug Properties: General Screenshot showing that C++ distributable is installed

如果有其他信息可以证明有帮助,请告诉我。

...。 . . ...

【问题讨论】:

***.com/questions/10612385/… 【参考方案1】:

所以,标准库是由编译器提供的。对于最流行的库,如 gcc、clang 或 msvc,所提供的库 99% 符合标准。但是一些微控制器编译器可能不支持 STL。检查您的编译器的 Arduino STL 支持。据我所知,有一个官方的 Arduino IDE,尝试使用它

【讨论】:

嗯,我试过 Arduino IDE,同样的问题。 然后检查官方网站上的 STL 支持。但据我所知,Arduino IDE 有一个 c++11 编译器。 如果我理解正确,arduino does not support STL。我相信我现在已经将我的 Visual Studio 编译器降到了 c++11 标准,但我仍然遇到同样的问题。 如果你想尝试实现你自己的字符串类,那么你应该看到这个generic container guide for c++ 这将帮助你制作一个高效的字符串类很多 这是move semantics的指南,也可能有用

以上是关于致命错误:字符串:没有这样的文件或目录#include <string>的主要内容,如果未能解决你的问题,请参考以下文章

致命错误:glib.h:使用 vscode 和 mingw 时没有这样的文件或目录

致命错误:require_once():

致命错误 C1083:无法打开包含文件:'boost/regex.hpp':没有这样的文件或目录

致命错误:Python.h:没有这样的文件或目录

收到“致命错误 C1083:无法打开包含文件:'gxall.h':没有这样的文件或目录”[重复]

致命错误:sdl.h:没有这样的文件或目录