如何解决CMake:“致命错误:cstdio:没有这样的文件或目录”
我正在尝试 CMake 一个项目。我刚开始使用它,所以我想对于熟悉 CMake 的人来说一定很明显: 在 main.c 所在的主文件夹中,我包含
#include "tensorflow/lite/micro/all_ops_resolver.h"
找到了这个库。在文件 all_ops_resolver.h 中有一行:
#include "tensorflow/lite/micro/micro_mutable_op_resolver.h"
在 micro_mutable_op_resolver.h 文件中还有一行:
#include <cstdio>
现在这会触发 CMake 的错误:
> In file included from
> ../main/tensorflow/lite/micro/all_ops_resolver.h:19,> from ../main/main.c:16: ../main/tensorflow/lite/micro/micro_mutable_op_resolver.h:18:10: fatal
> error: cstdio: No such file or directory #include <cstdio>
> ^~~~~~~~
> compilation terminated.`
文件 stdio.h 将位于:
~/.espressif/tools/xtensa-esp32-elf/esp-2020r2-8.2.0/xtensa-esp32-elf/xtensa-esp32-elf/include
在项目目录之外。我无法弄清楚应该进入哪个 CMakeLists.txt 以将编译器指向该文件夹。有人可以帮忙吗?
解决方法
#include <cstdio>
是一个 C++ 头文件,micro_mutable_op_resolver.h
头文件似乎来自 TensorFlow Lite for Microcontrollers,它是一个 C++ 库,因此您可能应该将 main.c 更改为 main.cpp 并编译为 C++。>
#include <cstdio>
适用于 C++。
你正在使用 C,所以你应该使用
#include <stdio.h>
相反。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。